wxWidgets 编译 MinGW - 错误 1 和错误 2
wxWidgets Compiling MinGW - Error 1 & Error 2
我正在尝试使用我安装的代码::Blocks中的MinGW工作bin 副本编译wxWidgets(最新的稳定版本2.8.12)。我尝试设置系统环境变量以及正常的构建命令和 unicode 命令,它们都给了我 [clean] 错误 1 和/或 [clean] 错误 2。
当我尝试通过 mingw32-make.exe -f makefile.gcc clean 进行正常构建时,就会发生这种情况
C:wxWidgets-2.8.12buildmsw> mingw32-make.exe -f makefile.gcc clean
if exist gcc_mswd*.o del gcc_mswd*.o
if exist gcc_mswd*.d del gcc_mswd*.d
if exist ....libgcc_liblibwxregexd.a del ....libgcc_liblibwxregexd.a
if exist ....libgcc_liblibwxzlibd.a del ....libgcc_liblibwxzlibd.a
if exist ....libgcc_liblibwxpngd.a del ....libgcc_liblibwxpngd.a
if exist ....libgcc_liblibwxjpegd.a del ....libgcc_liblibwxjpegd.a
if exist ....libgcc_liblibwxtiffd.a del ....libgcc_liblibwxtiffd.a
if exist ....libgcc_liblibwxexpatd.a del ....libgcc_liblibwxexpatd.a
if exist ....libgcc_libwxmsw28d_gcc_custom.dll del ....libgcc_libwxmsw28
d_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d.a del ....libgcc_liblibwxmsw28d.a
if exist ....libgcc_liblibwxmsw28d.a del ....libgcc_liblibwxmsw28d.a
if exist ....libgcc_libwxbase28d_gcc_custom.dll del ....libgcc_libwxbase
28d_gcc_custom.dll
if exist ....libgcc_liblibwxbase28d.a del ....libgcc_liblibwxbase28d.a
if exist ....libgcc_liblibwxbase28d.a del ....libgcc_liblibwxbase28d.a
if exist ....libgcc_libwxbase28d_net_gcc_custom.dll del ....libgcc_libwx
base28d_net_gcc_custom.dll
if exist ....libgcc_liblibwxbase28d_net.a del ....libgcc_liblibwxbase28d
_net.a
if exist ....libgcc_liblibwxbase28d_net.a del ....libgcc_liblibwxbase28d
_net.a
if exist ....libgcc_libwxmsw28d_core_gcc_custom.dll del ....libgcc_libwx
msw28d_core_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_core.a del ....libgcc_liblibwxmsw28d_
core.a
if exist ....libgcc_liblibwxmsw28d_core.a del ....libgcc_liblibwxmsw28d_
core.a
if exist ....libgcc_libwxmsw28d_adv_gcc_custom.dll del ....libgcc_libwxm
sw28d_adv_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_adv.a del ....libgcc_liblibwxmsw28d_a
dv.a
if exist ....libgcc_liblibwxmsw28d_adv.a del ....libgcc_liblibwxmsw28d_a
dv.a
if exist ....libgcc_libwxmsw28d_media_gcc_custom.dll del ....libgcc_libw
xmsw28d_media_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_media.a del ....libgcc_liblibwxmsw28d
_media.a
if exist ....libgcc_liblibwxmsw28d_media.a del ....libgcc_liblibwxmsw28d
_media.a
if exist ....libgcc_libwxbase28d_odbc_gcc_custom.dll del ....libgcc_libw
xbase28d_odbc_gcc_custom.dll
if exist ....libgcc_liblibwxbase28d_odbc.a del ....libgcc_liblibwxbase28
d_odbc.a
if exist ....libgcc_liblibwxbase28d_odbc.a del ....libgcc_liblibwxbase28
d_odbc.a
if exist ....libgcc_libwxmsw28d_dbgrid_gcc_custom.dll del ....libgcc_lib
wxmsw28d_dbgrid_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_dbgrid.a del ....libgcc_liblibwxmsw28
d_dbgrid.a
if exist ....libgcc_liblibwxmsw28d_dbgrid.a del ....libgcc_liblibwxmsw28
d_dbgrid.a
if exist ....libgcc_libwxmsw28d_html_gcc_custom.dll del ....libgcc_libwx
msw28d_html_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_html.a del ....libgcc_liblibwxmsw28d_
html.a
if exist ....libgcc_liblibwxmsw28d_html.a del ....libgcc_liblibwxmsw28d_
html.a
if exist ....libgcc_libwxmsw28d_qa_gcc_custom.dll del ....libgcc_libwxms
w28d_qa_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_qa.a del ....libgcc_liblibwxmsw28d_qa
.a
if exist ....libgcc_liblibwxmsw28d_qa.a del ....libgcc_liblibwxmsw28d_qa
.a
if exist ....libgcc_libwxbase28d_xml_gcc_custom.dll del ....libgcc_libwx
base28d_xml_gcc_custom.dll
if exist ....libgcc_liblibwxbase28d_xml.a del ....libgcc_liblibwxbase28d
_xml.a
if exist ....libgcc_liblibwxbase28d_xml.a del ....libgcc_liblibwxbase28d
_xml.a
if exist ....libgcc_libwxmsw28d_xrc_gcc_custom.dll del ....libgcc_libwxm
sw28d_xrc_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_xrc.a del ....libgcc_liblibwxmsw28d_x
rc.a
if exist ....libgcc_liblibwxmsw28d_xrc.a del ....libgcc_liblibwxmsw28d_x
rc.a
if exist ....libgcc_libwxmsw28d_aui_gcc_custom.dll del ....libgcc_libwxm
sw28d_aui_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_aui.a del ....libgcc_liblibwxmsw28d_a
ui.a
if exist ....libgcc_liblibwxmsw28d_aui.a del ....libgcc_liblibwxmsw28d_a
ui.a
if exist ....libgcc_libwxmsw28d_richtext_gcc_custom.dll del ....libgcc_li
bwxmsw28d_richtext_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_richtext.a del ....libgcc_liblibwxmsw
28d_richtext.a
if exist ....libgcc_liblibwxmsw28d_richtext.a del ....libgcc_liblibwxmsw
28d_richtext.a
if exist ....libgcc_libwxmsw28d_gl_gcc_custom.dll del ....libgcc_libwxms
w28d_gl_gcc_custom.dll
if exist ....libgcc_liblibwxmsw28d_gl.a del ....libgcc_liblibwxmsw28d_gl
.a
if exist ....libgcc_liblibwxmsw28d_gl.a del ....libgcc_liblibwxmsw28d_gl
.a
mingw32-make.exe -C ....samples -f makefile.gcc LINK_DLL_FLAGS="-shared" LINK_
MODULE_FLAGS="-shared" CC="gcc" CXX="g++" CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFL
AGS="" CPP="gcc -E" SHARED="0" WXUNIV="0" UNICODE="0" MSLU="0" BUILD="debug" DEB
UG_INFO="default" DEBUG_FLAG="default" MONOLITHIC="0" USE_GUI="1" USE_HTML="1" U
SE_MEDIA="1" USE_XRC="1" USE_AUI="1" USE_RICHTEXT="1" USE_OPENGL="0" USE_ODBC="0
" USE_QA="0" USE_EXCEPTIONS="1" USE_RTTI="1" USE_THREADS="1" USE_CAIRO="0" USE_G
DIPLUS="0" OFFICIAL_BUILD="0" VENDOR="custom" WX_FLAVOUR="" WX_LIB_FLAVOUR="" CF
G="" CPPUNIT_CFLAGS="" CPPUNIT_LIBS="" RUNTIME_LIBS="dynamic" GCC_VERSION="3" cl
ean
mingw32-make.exe[1]: Entering directory `C:/wxWidgets-2.8.12/samples'
if exist .*.o del .*.o
if exist .*.d del .*.d
mingw32-make.exe -C access -f makefile.gcc LINK_DLL_FLAGS="-shared" LINK_MODULE_
FLAGS="-shared" CC="gcc" CXX="g++" CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFLAGS=""
CPP="gcc -E" SHARED="0" WXUNIV="0" UNICODE="0" MSLU="0" BUILD="debug" DEBUG_INFO
="default" DEBUG_FLAG="default" MONOLITHIC="0" USE_GUI="1" USE_HTML="1" USE_MEDI
A="1" USE_XRC="1" USE_AUI="1" USE_RICHTEXT="1" USE_OPENGL="0" USE_ODBC="0" USE_Q
A="0" USE_EXCEPTIONS="1" USE_RTTI="1" USE_THREADS="1" USE_CAIRO="0" USE_GDIPLUS=
"0" OFFICIAL_BUILD="0" VENDOR="custom" WX_FLAVOUR="" WX_LIB_FLAVOUR="" CFG="" CP
PUNIT_CFLAGS="" CPPUNIT_LIBS="" RUNTIME_LIBS="dynamic" GCC_VERSION="3" clean
DNS server not authoritative for zone.
mingw32-make.exe[1]: *** [clean] Error 1
mingw32-make.exe[1]: Leaving directory `C:/wxWidgets-2.8.12/samples'
mingw32-make.exe: *** [clean] Error 2
C:wxWidgets-2.8.12buildmsw>
使用我用来编译它的命令可能会有更好的运气:
cd C:wxWidgets-2.8.12buildmsw
mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=0 UNICODE=1 USE_OPENGL=1
mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=0 UNICODE=1 USE_OPENGL=1
pause
您可以看到我没有使用 clean 命令。我从来没有真正需要过它。我所做的是,如果我想更改编译选项,我会删除该文件夹并从全新下载中重新提取它。这可能不是最好的方法,但不需要清洁!
这些设置的简要说明:
- 您应该同时使用调试和发布进行构建。调试版本将帮助您调试代码,但它会产生更大的(和较慢)的可执行文件。发布版本将生成更快和较小的可执行文件,但没有调试选项。
-
SHARED=0
表示静态构建(即,库将是包含在您的.exe中)。如果您更喜欢使用单独的.dll文件,将其更改为SHARED=1
. -
MONOLITHIC=0
表示库将分为几个组件,您必须选择要包含的组件。将其设置为MONOLITHIC=1
将导致将库构建为单个大文件,您将包括该文件。这更容易,但是链接需要更长的时间。如果选择使用MONOLITHIC=1
,则还应添加用于防止出现问题的选项CXXFLAGS="-fno-keep-inline-dllexport"
使用内存(编译库时会使用太多内存)。 -
UNICODE=1
允许您在应用。您应该启用它。 - 仅当您打算使用 OpenGL 时才需要
USE_OPENGL=1
。我更喜欢它。
最后一点,要做到这一点,您应该在PATH
环境变量中MinGWbin
文件夹(我猜您已经有了)。
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- std::is_base_of表示ctor编译错误
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- Qt Cmake 错误编译"GuiSupportQt not found"
- Opengl 精度转换错误编译错误 E0415
- 库将ARM架构错误编译为架构X64
- RT 音频 Mac 错误 g++ 编译错误
- 错误编译Boost.log
- 错误编译QT创建者 / QT窗口小部件示例
- 错误编译MIPS32
- Visual Studio 2013 中的错误(编译和运行代码)
- 链接错误编译qt项目在visual 2010
- 无法用模板错误编译nsgmls
- 奇怪的错误.编译失败
- 如果有人调用c++中的方法,则强制错误(编译时)
- 来自autoconf测试的错误编译命令
- 时间限制超出错误C++编译
- SFML 2.3 和 CodeBlocks 错误编译