【发布时间】:2020-05-16 17:08:19
【问题描述】:
我正在尝试在 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 项目 选择 wxWidgets 3.1.x 项目标题“HelloWorld”,位于 D:\code\C++\tinker 下——其他所有内容都自动填充。 项目详情——我的信息。
首选 GUI 生成器 - 无。应用程序类型 - 对话框。
wxWidgets 的位置:D:\code\wxw
编译器:GNU GCC 选择“创建发布配置”,因为它是这样编译的。
它提供了“bin\Release\”的输出目录和“obj\Release\”的对象输出目录,我没有更改。
选择使用 DLL,构建为整体,并启用 Unicode——后者与我的编译设置匹配。
当我点击下一步时,它告诉我“在您指定的 wxWidgets 目录中找不到匹配的发布配置。这意味着您的项目的发布目标不会构建。”
我在搜索此错误消息时发现了多次点击,但它们都转入了对单片与多片编译的讨论以及对其他编译器设置的批评,并没有真正解决问题。
编辑:
基于http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef
我使用以下设置进行编译。我将它们设置在 config.gcc 中
BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport
【问题讨论】:
-
您传递给 mingw32-make 的选项与您在向导中指定的设置不匹配。您能否发布用于构建库的完整 mingw32-make 命令。
-
mingw32-make.exe -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport 是您正在寻找的数据,但我实际上在 config.gcc 中改变了
-
@CatherSteincamp,供您将来参考 - 在(仍然)受支持的情况下使用
MONOLITHIC=1从长远来看可能会给您带来问题。避免它更好也更容易。而且它不会给你任何收益。使用SHARED=1也有点奇怪 - 通常在 Windows 上首选静态构建,因为这样您就不必在程序中单独提供 wxWidgets 库。
标签: codeblocks wxwidgets