[英]wxWidgets Compiling MinGW - Error 1 & Error 2
I'm trying to compile wxWidgets (latest stable build 2.8.12) with a working bin copy of MinGW from my installation of Code::Blocks. 我正在尝试使用我安装的Code :: Blocks中的MinGW的工作bin副本来编译wxWidgets(最新的稳定版本2.8.12)。 I've tried setting the system environment variables as well as the normal build commands and the unicode ones, all of them give me [clean] Error 1 and/or [clean] Error 2.
我已经尝试过设置系统环境变量以及正常的构建命令和unicode命令,所有这些都给我[干净]错误1和/或[清除]错误2。
This is what happens when I try doing a normal build via mingw32-make.exe -f makefile.gcc clean 当我尝试通过mingw32-make.exe -f makefile.gcc clean进行正常构建时会发生这种情况
C:\wxWidgets-2.8.12\build\msw> 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 ..\..\lib\gcc_lib\libwxregexd.a del ..\..\lib\gcc_lib\libwxregexd.a
if exist ..\..\lib\gcc_lib\libwxzlibd.a del ..\..\lib\gcc_lib\libwxzlibd.a
if exist ..\..\lib\gcc_lib\libwxpngd.a del ..\..\lib\gcc_lib\libwxpngd.a
if exist ..\..\lib\gcc_lib\libwxjpegd.a del ..\..\lib\gcc_lib\libwxjpegd.a
if exist ..\..\lib\gcc_lib\libwxtiffd.a del ..\..\lib\gcc_lib\libwxtiffd.a
if exist ..\..\lib\gcc_lib\libwxexpatd.a del ..\..\lib\gcc_lib\libwxexpatd.a
if exist ..\..\lib\gcc_lib\wxmsw28d_gcc_custom.dll del ..\..\lib\gcc_lib\wxmsw28
d_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d.a del ..\..\lib\gcc_lib\libwxmsw28d.a
if exist ..\..\lib\gcc_lib\libwxmsw28d.a del ..\..\lib\gcc_lib\libwxmsw28d.a
if exist ..\..\lib\gcc_lib\wxbase28d_gcc_custom.dll del ..\..\lib\gcc_lib\wxbase
28d_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxbase28d.a del ..\..\lib\gcc_lib\libwxbase28d.a
if exist ..\..\lib\gcc_lib\libwxbase28d.a del ..\..\lib\gcc_lib\libwxbase28d.a
if exist ..\..\lib\gcc_lib\wxbase28d_net_gcc_custom.dll del ..\..\lib\gcc_lib\wx
base28d_net_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxbase28d_net.a del ..\..\lib\gcc_lib\libwxbase28d
_net.a
if exist ..\..\lib\gcc_lib\libwxbase28d_net.a del ..\..\lib\gcc_lib\libwxbase28d
_net.a
if exist ..\..\lib\gcc_lib\wxmsw28d_core_gcc_custom.dll del ..\..\lib\gcc_lib\wx
msw28d_core_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_core.a del ..\..\lib\gcc_lib\libwxmsw28d_
core.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_core.a del ..\..\lib\gcc_lib\libwxmsw28d_
core.a
if exist ..\..\lib\gcc_lib\wxmsw28d_adv_gcc_custom.dll del ..\..\lib\gcc_lib\wxm
sw28d_adv_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_adv.a del ..\..\lib\gcc_lib\libwxmsw28d_a
dv.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_adv.a del ..\..\lib\gcc_lib\libwxmsw28d_a
dv.a
if exist ..\..\lib\gcc_lib\wxmsw28d_media_gcc_custom.dll del ..\..\lib\gcc_lib\w
xmsw28d_media_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_media.a del ..\..\lib\gcc_lib\libwxmsw28d
_media.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_media.a del ..\..\lib\gcc_lib\libwxmsw28d
_media.a
if exist ..\..\lib\gcc_lib\wxbase28d_odbc_gcc_custom.dll del ..\..\lib\gcc_lib\w
xbase28d_odbc_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxbase28d_odbc.a del ..\..\lib\gcc_lib\libwxbase28
d_odbc.a
if exist ..\..\lib\gcc_lib\libwxbase28d_odbc.a del ..\..\lib\gcc_lib\libwxbase28
d_odbc.a
if exist ..\..\lib\gcc_lib\wxmsw28d_dbgrid_gcc_custom.dll del ..\..\lib\gcc_lib\
wxmsw28d_dbgrid_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_dbgrid.a del ..\..\lib\gcc_lib\libwxmsw28
d_dbgrid.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_dbgrid.a del ..\..\lib\gcc_lib\libwxmsw28
d_dbgrid.a
if exist ..\..\lib\gcc_lib\wxmsw28d_html_gcc_custom.dll del ..\..\lib\gcc_lib\wx
msw28d_html_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_html.a del ..\..\lib\gcc_lib\libwxmsw28d_
html.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_html.a del ..\..\lib\gcc_lib\libwxmsw28d_
html.a
if exist ..\..\lib\gcc_lib\wxmsw28d_qa_gcc_custom.dll del ..\..\lib\gcc_lib\wxms
w28d_qa_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_qa.a del ..\..\lib\gcc_lib\libwxmsw28d_qa
.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_qa.a del ..\..\lib\gcc_lib\libwxmsw28d_qa
.a
if exist ..\..\lib\gcc_lib\wxbase28d_xml_gcc_custom.dll del ..\..\lib\gcc_lib\wx
base28d_xml_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxbase28d_xml.a del ..\..\lib\gcc_lib\libwxbase28d
_xml.a
if exist ..\..\lib\gcc_lib\libwxbase28d_xml.a del ..\..\lib\gcc_lib\libwxbase28d
_xml.a
if exist ..\..\lib\gcc_lib\wxmsw28d_xrc_gcc_custom.dll del ..\..\lib\gcc_lib\wxm
sw28d_xrc_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_xrc.a del ..\..\lib\gcc_lib\libwxmsw28d_x
rc.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_xrc.a del ..\..\lib\gcc_lib\libwxmsw28d_x
rc.a
if exist ..\..\lib\gcc_lib\wxmsw28d_aui_gcc_custom.dll del ..\..\lib\gcc_lib\wxm
sw28d_aui_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_aui.a del ..\..\lib\gcc_lib\libwxmsw28d_a
ui.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_aui.a del ..\..\lib\gcc_lib\libwxmsw28d_a
ui.a
if exist ..\..\lib\gcc_lib\wxmsw28d_richtext_gcc_custom.dll del ..\..\lib\gcc_li
b\wxmsw28d_richtext_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_richtext.a del ..\..\lib\gcc_lib\libwxmsw
28d_richtext.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_richtext.a del ..\..\lib\gcc_lib\libwxmsw
28d_richtext.a
if exist ..\..\lib\gcc_lib\wxmsw28d_gl_gcc_custom.dll del ..\..\lib\gcc_lib\wxms
w28d_gl_gcc_custom.dll
if exist ..\..\lib\gcc_lib\libwxmsw28d_gl.a del ..\..\lib\gcc_lib\libwxmsw28d_gl
.a
if exist ..\..\lib\gcc_lib\libwxmsw28d_gl.a del ..\..\lib\gcc_lib\libwxmsw28d_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.12\build\msw>
You may have better luck using the commands I used to compile it: 使用我用来编译它的命令你可能会有更好的运气:
cd C:\wxWidgets-2.8.12\build\msw
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
You can see that I have not used the clean command. 你可以看到我没有使用clean命令。 I have never really needed it.
我从来没有真正需要它。 What I do is, if I want to change the compilation options, I delete the folder and re-extract it from a fresh download.
我所做的是,如果我想更改编译选项,我会删除该文件夹并从全新下载中重新提取它。 It may not be the best approach, but no clean needed!
它可能不是最好的方法,但不需要清洁!
A brief explanation of these settings: 这些设置的简要说明:
SHARED=0
indicates a static build (that is, the library will be included inside your .exe). SHARED=0
表示静态构建(即,库将包含在.exe中)。 If you prefer to use separate .dll files, change it to SHARED=1
. SHARED=1
。 MONOLITHIC=0
indicates that the library will be divided in several components, and you will have to choose which ones to include. MONOLITHIC=0
表示库将分为几个组件,您必须选择要包含的库。 Setting it to MONOLITHIC=1
will cause the library to be built as a single massive file, which you would include. MONOLITHIC=1
将导致库被构建为单个大型文件,您将包括该文件。 That is easier, but takes longer to link. MONOLITHIC=1
, you should also add the option CXXFLAGS="-fno-keep-inline-dllexport"
to prevent a problem with memory (it uses too much memory when compiling the library). MONOLITHIC=1
,则还应添加选项CXXFLAGS="-fno-keep-inline-dllexport"
以防止内存问题(在编译库时使用太多内存)。 UNICODE=1
allows you to use non-english characters in your application. UNICODE=1
允许您在应用程序中使用非英语字符。 You should enable it. USE_OPENGL=1
is only needed if you intend to use OpenGL. USE_OPENGL=1
。 I prefer it. On a final note, for this to work, you should have the folder MinGW\\bin
in your PATH
environment variable (which I guess you already have). 最后,为了使其工作,你应该在你的
PATH
环境变量中有MinGW\\bin
文件夹(我猜你已经有了)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.