Code::Blocks & WxWidgets 匹配发布配置

Code::Blocks & WxWidgets Matching Release configuration

我正在尝试在 Windows (10) 上使用 WxWidgets (v3.1.3) 在 Code::Blocks (v17.12) 中开始一个新项目。

(就上下文而言,我是编译新手 - 我是一名尝试分支的脚本编码员。所以......不要害怕像我是白痴一样跟我说话。我已经准备好了接受这种可能性。)

我下载了官方的3.1.3源码,展开为"D:\code\wxw" 我使用 Code::Blocks 附带的 mingw32-make 成功编译了它——有一个目录 "D:\code\wxw\build\msw\gcc_mswudll" 和 "D:\code\wxw\lib\gcc_dll",后者包含 .dll 文件。

所以我进入代码块,我:

创建新项目 -> wxWidgets 项目 SelectwxWidgets 3.1.x 项目名称 "HelloWorld",位于 D:\code\C++\tinker-- 其他所有内容均自动填充。 项目详情--我的信息。

首选 GUI 生成器 - None。应用程序类型 - 对话。

wxWidgets的位置:D:\code\wxw

编译器:GNU GCC Selected "Create Release Configuration" 因为它就是这样编译的。

它提供了 "bin\Release\" 的输出目录和 "obj\Release\" 的对象输出目录,我没有更改。

Select使用 DLL,作为整体构建,并启用 Unicode——后者与我的编译设置匹配。

当我点击下一步时,它告诉我 "A Matching Release configuration cannot be found in the wxWidgets directory you specified. This means that the Release target of your project will not build."

我在搜索此错误消息时发现了多个匹配项,但它们都涉及到对单片编译与多片编译的讨论以及对其他编译器设置的批评,并没有真正解决问题。

编辑:

基于http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef

我使用了以下设置进行编译。我把它们设置在 config.gcc

BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport

向导最重要的页面是第8页。根据您在上面提供的设置,它应该看起来完全像这样:

此外,我不会在第 6 页上给出路径,而是在代码块中定义一个名为 wx 的全局变量,如下所示:

然后在第 6 页,您将输入 $(#wx) 而不是实际路径。如果您升级 wxWidgets 库,这将使您的项目使用起来更加容易。您只需要更改全局变量设置中的位置。