我在DialogBlocks 5.03中有一个用mingw32编译的项目,但是使用CodeBlocks 13.12显示了这个错误:
F:\wxWidgets-3.0.0\lib\gcc_lib/libwxmsw30u_core.a(corelib_msw_listctrl.o):listctrl.cpp:(.text+0x1019): undefined reference to `ImageList_GetImageCount@4'
F:\wxWidgets-3.0.0\lib\gcc_lib/libwxmsw30u_core.a(corelib_msw_listctrl.o):listctrl.cpp:(.text+0x1063): undefined reference to `ImageList_Draw@24'
F:\wxWidgets-3.0.0\lib\gcc_lib/libwxmsw30u_core.a(corelib_msw_listctrl.o):listctrl.cpp:(.text+0x108c): undefined reference to `ImageList_GetIconSize@12'
我检测到这是库的链接器顺序,在DialogBlocks中这是库顺序:
-Wl,--subsystem,windows -mwindows -static-libgcc -static-libstdc++ -lwxmsw30u_xrc -lwxmsw30u_richtext -lwxmsw30u_aui -lwxmsw30u_html -lwxmsw30u_stc -lwxmsw30u_propgrid -lwxmsw30u_ribbon -lwxmsw30u_adv -lwxmsw30u_core -lwxbase30u -lwxbase30u_net -lwxbase30u_xml -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
它成功编译
在CodeBlocks中,这是编译器库顺序:
-mthreads -s -static-libgcc -static-libstdc++ -Wl,--subsystem,windows -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -lwxscintilla -lwxmsw30u_xrc -lwxmsw30u_richtext -lwxmsw30u_aui -lwxmsw30u_html -lwxmsw30u_stc -lwxmsw30u_propgrid -lwxmsw30u_ribbon -lwxmsw30u_adv -lwxmsw30u_core -lwxbase30u -lwxbase30u_net -lwxbase30u_xml -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -mwindows
如果我使用DialogBlocks链接器选项从命令行编译CodeBlocks项目,它会成功编译
所以在CodeBlocks菜单中:Project - >构建选项 - >链接器设置,我按照我想要的顺序添加库,但CodeBlocks按自己的顺序添加参数,甚至重复库
我如何更改订单?
答案 0 :(得分:0)
感谢Sandro我找到了答案
我有CodeBlocks 13.12,要更改链接器参数,你必须转到菜单:
设置 - >编译器 - >标签:其他设置 - >单击按钮:高级 选项...... - >它显示一个消息框警告,单击:是 - >在里面 Command ComboBox select:链接要执行的对象文件,并进行更改 这样:
$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs -mwindows
为:
$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options
点击按钮:确定
然后转到菜单:
项目 - >构建选项...... - >标签:链接器设置 - >在:其他链接器 选项,我添加了自己的有序库