Codelite Build WxWidgets 程序没有“-lwxmsw32ud_qa”错误

codelite build wxwidgets program no "-lwxmsw32ud_qa" error

提问人:DanialTimmer 提问时间:11/12/2023 最后编辑:DanialTimmer 更新时间:11/13/2023 访问量:38

问:

操作系统 : windows 11, CPU : AMD, wxWidgets 3.2.4 Release, msys2 站点的给定链接 (msys2-x86_64-20231026.exe),默认包为 ucrt64 版本, gcc info : gcc.exe (Rev2, 由 MSYS2 项目构建) 13.2.0.

我按照官方网站上的指南进行操作,

mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug,

Codelite 版本 17.0.0,以及编译器、环境变量、工作区设置都做得很好。

接下来的问题是,当我尝试构建由 codelite 生成的示例 wxwidget 程序时,构建省略了以下错误:“......ld.exe:找不到 -lwxmsw32ud_qa:没有这样的文件或目录”。

C:/etc/msys64/ucrt64/bin/mingw32-make.exe -j12 -e -f  Makefile
"----------Building project:[ wx - Debug ]----------"
mingw32-make[1]: Entering directory 'C:/dev/codelite/gui/wx'
C:/etc/msys64/ucrt64/bin/g++.exe -o ..\build-Debug\bin\wx.exe @../build-Debug/wx/ObjectsList.txt -L.   -mwindows -LC:/Downloads/wxwidgets323/lib/gcc_dll -pipe -lwxmsw32ud_xrc -lwxmsw32ud_webview -lwxmsw32ud_html -lwxmsw32ud_qa -lwxmsw32ud_adv -lwxmsw32ud_core -lwxbase32ud_xml -lwxbase32ud_net -lwxbase32ud
C:/etc/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxmsw32ud_qa: No such file or directory
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [wx.mk:84: ..\build-Debug\bin\wx.exe] Error 1
mingw32-make: *** [Makefile:5: All] Error 2
mingw32-make[1]: Leaving directory 'C:/dev/codelite/gui/wx'
=== build completed successfully (0 errors, 0 warnings) ===

什么是“-lwxmsw32ud_qa”? 如果故障是 UCRT64 版本的 make 或 gcc 问题?还是来自 Codelite?

我已经挣扎了 3 天,仍然无法修复它,需要帮助!

感谢您的任何回复!

wxwidgets msys2 codelite

评论

0赞 Tim Roberts 11/12/2023
你构建了 wxWidgets 吗?您是否构建了调试版本?wxmsw32ud_qa 是 wxWidgets 中的 Unicode 调试库之一。
0赞 HolyBlackCat 11/12/2023
您是否在 MSYS2 中安装了 wxWidgets?
0赞 DanialTimmer 11/12/2023
我确实在调试的情况下构建了库,但没有进行任何安装进度,只是保持整个 wxwidgets 的顺序,并编译了自动生成的示例 gui 程序。以及如何进行安装?
0赞 Igor 11/12/2023
@DanialTimmer,您是如何在 CodeLite 中创建项目的?您引用的库仅是 MSVC...

答:

0赞 DanialTimmer 11/13/2023 #1

我自己通过做一个新的编译来修复它,我对制作一无所知。 谢谢HolyBlackCat,你给了我提示,安装,我没有找到官方网站提到它。

我一直在研究,发现并关注了一篇文章使用 cmake,做了一个全新的编译,之后运行“mingw32-make install”,在 codelite 中将其环境设置为“WXCFG=gcc_x64_dll\mswud”,构建并运行,它弹出两次说缺少“wxbase32ud_gcc_custom.dll”和“wxmswd32ud_core_gcc_custom.dll”,然后继续研究并找到答案, 我将'wxwidgets\lib\gcc_dll'的路径添加到windows系统virable,再次运行示例程序,gui出现,成功!