wxWidgets не линкуется статически из-за множества undefined reference
Скомпилировал wxWidgets строкой mingw32-make -j8 -f makefile.gcc BUILD=debug SHARED=0 в надежде линковать библиотеки статически. В используемой Eclipse IDE сделал всё, как нужно: задефайнил __WXMSW__
; прописал include и путь к библиотекам lib*.a; указал на библиотеки wxmsw32ud_core, wxbase32ud; в флагах линкера написал -static. Компиляция тестового кода падает из-за каких-то undefined reference:
Info: Internal Builder is used for build
windres.exe --use-temp-file -I "D:\C++\wxWidgets_static\include" "D:/C++/Projects/Test\resources\res.rc" "D:/C++/Projects/Test\resources\res.o"
g++ "-LD:\C++\wxWidgets_static\lib\gcc_lib" -static -o Test.exe "src\Test.o" -lwxmsw32ud_core -lwxbase32ud
(много ошибок, подобных тем, что ниже)
d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\lib\gcc_lib\libwxbase32ud.a(baselib_filename.o):filename.cpp:(.rdata$.refptr.IID_IPersistFile[.refptr.IID_IPersistFile]+0x0): undefined reference toIID_IPersistFile' d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\lib\gcc_lib\libwxbase32ud.a(baselib_filename.o):filename.cpp:(.rdata$.refptr.IID_IShellLinkW[.refptr.IID_IShellLinkW]+0x0): undefined reference to
IID_IShellLinkW' d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\lib\gcc_lib\libwxbase32ud.a(baselib_dlmsw.o): in functionGetFileVersion': D:\C++\wxWidgets_static\build\msw/../../src/msw/dlmsw.cpp:64: undefined reference to
GetFileVersionInfoSizeW' d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\build\msw/../../src/msw/dlmsw.cpp:68: undefined reference toGetFileVersionInfoW' d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\build\msw/../../src/msw/dlmsw.cpp:72: undefined reference to
VerQueryValueW' d:/c++/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\C++\wxWidgets_static\lib\gcc_lib\libwxbase32ud.a(baselib_utils.o): in functionwxCmpNatural(wxString const&, wxString const&)': D:\C++\wxWidgets_static\build\msw/../../src/msw/utils.cpp:1692: undefined reference to
__imp_StrCmpLogicalW'
Интернет ничем не помог.