Ändern Sie die Linker-Reihenfolge in CodeBlocks

Ich habe ein Projekt in DialogBlocks 5.03, das problemlos mit mingw32 kompiliert werden kann, aber mit CodeBlocks 13.12 wird dieser Fehler angezeigt:

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'

Ich habe festgestellt, dass dies die Verknüpfungsreihenfolge der Bibliotheken ist. In DialogBlocks ist dies die Bibliotheksreihenfolge:

-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

Und es kompiliert erfolgreich

In CodeBlocks ist dies die Reihenfolge der Compiler-Bibliothek:

-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

Wenn ich das CodeBlocks-Projekt mit den Linkeroptionen von DialogBlocks über die Befehlszeile kompiliere, wird es erfolgreich kompiliert

Im CodeBlocks-Menü: Projekt -> Erstellungsoptionen -> Linker-Einstellungen füge ich die Bibliotheken in der gewünschten Reihenfolge hinzu, aber CodeBlocks fügt die Parameter in seiner eigenen Reihenfolge hinzu und wiederholt sogar die Bibliotheken

Wie ändere ich die Bestellung?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage