操作系统:Windows 10 64位 IDE:代码块17.12 编译器:gcc 7.3 与 wxWidget 3.1.2
我根据官方指南构建了wxWidget 3.1.2,没有更改任何默认值
make -f makefile.gcc(make v4.2)
我正在使用代码块wxwidget启动脚本3.1.X
我根据wxWidget构建选择了正确的选项 (整体unicode和调试)
代码块生成的示例问题未正确链接
(使构建失败,错误0错误0警告)
-------------- Clean: Debug in sac (compiler: GNU GCC Compiler)---------------
Cleaned "sac - Debug"
-------------- Build: Debug in sac (compiler: GNU GCC Compiler)---------------
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -IC:\wxWidgets-3.1.2\include -IC:\wxWidgets-3.1.2\lib\gcc_dll\mswu -c C:\Users\MC\Desktop\wxw\sac\wx_pch.h -o wx_pch.h.gch\Debug_wx_pch_h_gch
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -IC:\wxWidgets-3.1.2\include -IC:\wxWidgets-3.1.2\lib\gcc_dll\mswu -c C:\Users\MC\Desktop\wxw\sac\GUIFrame.cpp -o obj\Debug\GUIFrame.o
windres.exe -IC:\wxWidgets-3.1.2\include -IC:\wxWidgets-3.1.2\lib\gcc_dll\mswu -J rc -O coff -i C:\Users\MC\Desktop\wxw\sac\resource.rc -o obj\Debug\resource.res
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -IC:\wxWidgets-3.1.2\include -IC:\wxWidgets-3.1.2\lib\gcc_dll\mswu -c C:\Users\MC\Desktop\wxw\sac\sacApp.cpp -o obj\Debug\sacApp.o
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -IC:\wxWidgets-3.1.2\include -IC:\wxWidgets-3.1.2\lib\gcc_dll\mswu -c C:\Users\MC\Desktop\wxw\sac\sacMain.cpp -o obj\Debug\sacMain.o
g++.exe -LC:\wxWidgets-3.1.2\lib\gcc_dll -o bin\Debug\sac.exe obj\Debug\GUIFrame.o obj\Debug\sacApp.o obj\Debug\sacMain.o obj\Debug\resource.res -mthreads -lwxmsw31u -mwindows
Process terminated with status 1 (0 minute(s), 11 second(s))
Process terminated with status 1 (0 minute(s), 11 second(s))
Process terminated with status 1 (0 minute(s), 12 second(s))
0 error(s), 0 warning(s) (0 minute(s), 12 second(s))
有什么帮助吗?
答案 0 :(得分:0)
本文假定您已编译Font
,并通过包含和正在使用 gcc 的make和 makefile.gcc 成功编译了可执行示例。
它还假定您已经在Windows中应用了环境变量,已应用了编译器标志wxWidgets 3.1.3
和链接器标志wx-config --cxxflags
。
似乎其他所有人都已经删除了makefile库的命令,并已将其修复到代码块中。我想在一个应用程序中构建小型应用程序,因此我决定使用wx-config --libs
构建 MONOLITHIC 。
因此,似乎最简单的解决方法是
CodeBlocks以与makefile不同的顺序排列链接器库的顺序,并阻塞了链接器,在我的情况下,从“主题”之类的内容到滚动条的问题而有所不同。
因此,我发现最快的解决方法是删除代码块构建选项列表中的所有条目,并仅输入“其他链接器选项”以进行调试和发布,这确实可行。
因此,在控制台列表中,makefile显示以makefile设置列表的顺序复制那些链接器设置。因此,除非有人为高于2.8.8的内容输入标头修正条目,否则此解决方法将很繁琐。
在我的情况下,工作顺序如下:
SHARED=0 UNICODE
在Release中,与指定调试文件的“ d”相同,即:
-mwindows
-lwxmsw31ud
-lwxmsw31ud_gl
-lwxscintillad
-lwxtiffd
-lwxjpegd
-lwxpngd
-lwxzlibd
-lwxregexud
-lwxexpatd
-lkernel32
-luser32
-lgdi32
-lcomdlg32
-lwinspool
-lwinmm
-lshell32
-lshlwapi
-lcomctl32
-lole32
-loleaut32
-luuid
-lrpcrt4
-ladvapi32
-lversion
-lwsock32
-lwininet
-loleacc
-luxtheme
而非-lwxmsw31u_gl
,
-lwxmsw31ud_gl
代替-lwxtiff
等...