我想设置wxWidgets 3.2.1在代码::块 20.03,但没有成功。
以下是我目前采取的步骤:
- 已安装GCC 12.2.0MinGW-W64
- 已安装代码::块 20.03Mingw 设置
- 已安装wxWidgets 3.2.1使用 Windows 安装程序
- 在 Code::Blocks 中创建了一个 wxWidgets 项目:
File
>New
>Project
>wxWidgets Project
- 已选择
wxWidgets 3.1.x
(因为没有条目wxWidgets 3.2.x
) - 选定的项目和作者信息、“首选 GUI 构建器”和“应用程序类型”
- 在 wxWidgets 的位置我输入了
C:\wxWidgets-3.2.1
(它当前的安装位置) - 检查
Create "Debug" configuration
了Create "Release" configuration
- 选中“wxWidgets 库设置”中的所有复选框:
Use wxWidgets DLL
wxWidgets is built as a monolithic library
Enable unicode
当我继续时,我收到以下两个警告:
在您指定的 wxWidgets 目录中找不到匹配的 Debug 配置。
这意味着您的项目的 Debug 目标将不会被构建。您确实要继续这些设置吗?
在您指定的 wxWidgets 目录中找不到匹配的 Release 配置。
这意味着您的项目的 Release 目标将不会被构建。您确实要继续这些设置吗?
如果我继续并尝试编译我的项目,我会收到以下 3 个错误:
C:\wxWidgets-3.2.1\include\wx\platform.h 159 致命错误:wx/setup.h:没有此文件或目录
我前往C:\wxWidgets-3.2.1\include\wx
并发现它setup.h
丢失了:它实际上位于C:\wxWidgets-3.2.1\include\wx\msw
(更深的一个文件夹)。
关于如何正确设置 wxWidgets 以与 Code::Blocks 一起工作有什么想法吗?
答案1
实际上,使用Windows 安装程序只安装了源代码。我必须自己构建它:
cd /D C:\wxWidgets-3.2.1\build\msw
进而
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport 2>log.txt
之后,我从步骤 4 开始按照上述相同的步骤操作。项目创建没有任何问题。
接下来,由于 Code::BLocks 20.03 中没有 wxWidgets 3.2.x 的条目(上面的第 5 步),所以我必须更改libwxmsw31u.a
为libwxmsw32u.a
:
Project
>Build options
>Debug
>Linker settings
Project
>Build options
>Release
>Linker settings
编译并运行该项目,并且它确实起作用了。