windows 10上的wxWidgets 3.1.0项目错误

wxWidgets 3.1.0 project error on windows 10

本文关键字:项目 错误 上的 wxWidgets windows      更新时间:2023-10-16

我是这里的新手,我需要帮助编译我的wxwidgets项目以使用代码块。

我从下载了wxwidgets窗口插件"wxMSW-3.1.0-Setup.exe"http://www.wxwidgets.org/downloads/

我运行该程序进行安装,然后在系统属性>>高级系统设置>>环境变量中阅读有关制作环境变量的内容。因此,我将变量名设置为"路径",将变量值设置为"C:\Program Files(x86)\CodeBlocks\MinGW\bin"。

还阅读了关于在cmd提示符下构建wxwidget的内容,因此启动cmd并在下面输入这样的过程(有些过程需要很长时间)。

  1. mingw32 make-v
  2. cd C:\wxWidgets-3.1.0\build\msw
  3. mingw32 make-f makefile.gcc clean
  4. mingw32 make-f makefile.gcc BUILD=debug SHARED=0 MONOLITIC=1 UNICODE=1
  5. mingw32 make-f makefile.gcc BUILD=发布SHARED=0 MONOLITIC=1 UNICODE=1

在所有这些之后,我继续制作了一个wxwidgets项目。在进行wxwidgets项目时,我遇到了两个错误:"在您指定的wxwidget目录中找不到匹配的调试配置"answers"在您所指定的wx widgets目录中找找到匹配的发布配置">

但后来我跳过并继续项目,在构建和运行后,我得到了以下错误。

用于调试的构建日志:

--------------构建:在testwx中调试(编译器:GNU GCC编译器)---------------

mingw32-g++.exe-LC:\wxWidgets-3.1.0\lib\gcc_lib-o bin\Debug\testwx.exe obj\Debug\testwxApp.oobj\Degug\testwxMain.oobj\Debug\resource.res-mthreads-lwxmsw30u-lwxpng-lwxjpeg-lwxtiff-lwxzlib-lkernel32-lluser32-lgdi32-lwinspool-lcmdlg32-ladvapi32-lshell32-loeut32-louid-llcomctl32-lwsock32-lodbc32-mwindowsC:/Program Files(x86)/CodeBlocks/MinGW/bin//lib/gcc/mingw32/4.9.2/../../../mingw32/bin/ld.exe:找不到-lwxmsw30ucollect2.exe:错误:ld返回1退出状态进程已终止,状态为1(0分钟5秒)2个错误,0个警告(0分钟,5秒)

发布的构建日志:

--------------内部版本:在testwx中发布(编译器:GNU GCC编译器)---------------

windres.exe-IC:\wxWidgets-3.1.0\include-IC:\w xWidgetS-3.1.0\lib\gcc_lib\mswu-J rc-O coff-i C:\Users\AJIKAH~1\DOCUME~1\Programs\WXWIDG~1\testwx\resource.rc-O obj\Release \resource.resmingw32-g++.exe-管道-mthreads-D__GNUWIN32__-D__WXMSW__-DwxUSE_UNICODE-墙-O2-std=c++11-IC:\wxWidgets-3.1.0\include-IC:\wxWidgets-3.1.0\lib\gcc_lib\mswu-c"c:\Users\A JIKAH\Documents\Programs\wxWidget \testwx\testwxApp.cpp"-o obj\Release \testwx App.omingw32-g++.exe-管道-mthreads-D__GNUWIN32__-D__WXMSW__-DwxUSE_UNICODE-Wall-O2-std=c++11-IC:\wxWidgets-3.1.0\include-IC:\wxWidgets-3.1.0\lib\gcc_lib\mswu-c"c:\Users\A JIKAH\Documents\Programs\wxWidget \testwx\testwxMain.cpp"-o obj\Release \testwxMain.omingw32-g++.exe-LC:\wxWidgets-3.1.0\lib\gcc_lib-o bin\Release \testwx.exe obj\Release \ttestwxApp.oobj\Release\testwxMain.oobj\ Release \resource.res-s-mthreads-lwxmsw30u-lwxpng-lwxjpeg-lwxtiff-lwxzlib-lkernel32-lluser32-lgdi32-lwinspool-lcmdlg32-ladvapi32-lshell32-lolet32-louid-llcomctl32-lwsock32-lodbc32 32-mwindowsC:/Program Files(x86)/CodeBlocks/MinGW/bin//lib/gcc/mingw32/4.9.2/../../../mingw32/bin/ld.exe:找不到-lwxmsw30ucollect2.exe:错误:ld返回1退出状态进程已终止,状态为1(0分钟33秒)2个错误,0个警告(0分钟,33秒)

现在我将代码::块16.01更新为代码::区块17.01。

有人能帮我解决这个问题吗?

你说你下载了"wxMSW-3.10-Setup.exe"。但这部分"…找不到-lwxmsw30u…"意味着你试图从wxWidgets 3.0链接库。

为了确保您的项目正在尝试链接到正确版本的wxWidgets,请在代码块向导的第二页(上面写着"请选择您想要使用的wxWidgets版本")上,确保选择"wxWidget 3.1.x"选项。

"找不到匹配的配置"问题的另一个常见原因是没有在向导的第8页上选择正确的选项(上面写着"请选择各种配置选项")。由于您说过您使用选项"SHARED=0 MONOLITHIC=1 UNICODE=1"构建库,请确保选中"wxWidgets is building as a monolite library"answers"Enable UNICODE",并确保未选中"Use wxWidget DLL"。

@MrSudden,

你为什么把图书馆建成一个整体?

也支持此配置,但不建议使用此配置,从长远来看可能会导致问题。它也没有来自wx核心团队的大测试,因此有很大的机会被破坏。

与"多分支"图书馆相比,建立"单片"图书馆没有任何好处。

谢谢。