您好,我正在尝试构建用于代码块的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
答案 0 :(得分:0)
如果您尝试执行任何操作仍会出现错误,请按照以下说明进行操作:
根据您的情况删除整个wxWidgets文件夹
C:\wxWidgets-3.0.4
即使在同一目录下,也要重新安装wxWidgets
删除与旧gcc相关的所有内容(可能是dir和PATH var,请参见下文),然后下载安装最新版本的gcc。从Mingw 32 mingw-get-setup.exe, 来自Mingw 64或TDM combined 32/64。以后,您需要为您的应用将此编译器设置为默认的C :: B编译器。
根据需要将您的mingw/bin
目录添加到Windows PATH环境中
var。
打开命令窗口,然后复制并粘贴以下行:
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
,该文件没有其他说明。不必这样做,现在需要删除创建的文件,并撤消为使构建正常工作而可能要进行的其他任何更改。