setup.h没有这样的文件或目录

时间:2018-10-08 22:58:45

标签: c++ codeblocks wxwidgets wxformbuilder

您好,我正在尝试构建用于代码块的wxWidgets 3.0。当我运行手册

上给出的命令时

mingw32-make -f makefile.gcc BUILD = release SHARED = 1 MONOLITHIC = 1 UNICODE = 1 CXXFLAGS = -fno-keep-inline-dllexport

表示错误包括\ include / setup / .h:121:27:致命错误: ../../../ lib / vc_x64_lib / mswu / wx / setup.h

它也说

C:\wxWidgets-3.0.4\build\msw>mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport
if not exist ..\..\lib\gcc_dll\mswu mkdir ..\..\lib\gcc_dll\mswu
gcc -c -o gcc_mswudll\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG -I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswudll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
In file included from ..\..\include/wx/platform.h:183:0,
                 from ..\..\include/wx/defs.h:27,
                 from ../../src/regex/regcustom.h:39,
                 from ../../src/regex/regguts.h:38,
                 from ../../src/regex/regcomp.c:33:
..\..\include/wx/setup.h:12:6: error: #error "This file should only be included when using Microsoft Visual C++"
     #error "This file should only be included when using Microsoft Visual C++"
      ^
In file included from ..\..\include/wx/version.h:16:0,
                 from ..\..\include/wx/setup.h:19,
                 from ..\..\include/wx/platform.h:183,
                 from ..\..\include/wx/defs.h:27,
                 from ../../src/regex/regcustom.h:39,
                 from ../../src/regex/regguts.h:38,
                 from ../../src/regex/regcomp.c:33:
..\..\include/wx/setup.h:113:31: error: pasting "/" and "vc_x64_lib" does not give a valid preprocessing token
         wxCONCAT6(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, wxSUFFIX, /wx/setup.h)

我要遵循的手册是:http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef

2 个答案:

答案 0 :(得分:0)

如果您尝试执行任何操作仍会出现错误,请按照以下说明进行操作:

  1. 根据您的情况删除整个wxWidgets文件夹 C:\wxWidgets-3.0.4

  2. 即使在同一目录下,也要重新安装wxWidgets

  3. 删除与旧gcc相关的所有内容(可能是dir和PATH var,请参见下文),然后下载安装最新版本的gcc。从Mingw 32 mingw-get-setup.exe, 来自Mingw 64TDM combined 32/64。以后,您需要为您的应用将此编译器设置为默认的C :: B编译器。

  4. 根据需要将您的mingw/bin目录添加到Windows PATH环境中 var。

  5. 打开命令窗口,然后复制并粘贴以下行:

      

    mingw32-make -f makefile.gcc BUILD = release UNICODE = 1 USE_OPENGL = 1   CXXFLAGS =“-std = gnu ++ 11 -fno-keep-inline-dllexport”

请注意,我已经删除了MONOLITHIC = 1标志,有时这是问题的根源。唯一的结果是,您必须向项目设置中添加几个库(基本库,核心库等,并以适当的顺序),而不是一个大库。看看<wxWidgets dir>\lib

添加mingw\bin到PATH是一个选项。 C :: B不需要它。需要它的是命令框。如果您不想污染PATH变量,则每次打开命令框使用编译器时都必须添加它:
在此命令框中使用编译器之前,请执行PATH=%PATH%;C:\MinGW\bin(在其中安装了MinGW的编译器)。

答案 1 :(得分:0)

您必须已将文件include/msvc/wx/setup.h手动复制到include/wx/setup.h,该文件没有其他说明。不必这样做,现在需要删除创建的文件,并撤消为使构建正常工作而可能要进行的其他任何更改。