【问题标题】:CodeBlocks: How to build C++ App w using wxWidgets library DLLsCodeBlocks:如何使用 wxWidgets 库 DLL 构建 C++ 应用程序
【发布时间】:2017-11-04 20:31:28
【问题描述】:

我已将 wxWidgets 和 Codeblocks 的二进制文件下载并安装到装有 Windows 10 的 PC 上。Codeblocks 构建并运行 HelloWorld。使用 Codeblocks 然后我打开一个使用 wxWidgets 的现有 DEV-C++ 项目 - Codeblocks 编译它没有问题,但链接器失败并显示 Widgets 的库 dll 文件是“无法识别的格式”的消息。 花了几个小时在这个论坛和小部件网站上寻求帮助。我已阅读有关导出库的信息,它弥合了应用程序中的调用与共享 DLL 中的函数之间的差距,但未能找到它们。链接到小部件库的正确方法是什么?谢谢你能给我的任何帮助。

【问题讨论】:

  • 我建议使用 code:blocks 从源代码构建 wxWidgets 库,而不是下载使用未知编译器构建的二进制库。

标签: c++ codeblocks wxwidgets


【解决方案1】:

我建议使用 code:blocks 从源代码构建 wxWidgets 库,而不是下载使用未知编译器构建的二进制库

以下是使用 code:block 构建 wxWidgets 静态库的说明。 Ti 构建 DLL,修改第 8 步。(请注意,如果您使用静态库,您的应用程序将启动得更快。

https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.7z下载wxWidgets源码

解压到一个文件夹。在我的系统上,我使用 C:\Users\James\code\wxwidgets-3.1.0

打开一个命令窗口。

cd 到 code::blocks mingw 文件夹。在我的系统上,这是 C:\Program Files (x86)\CodeBlocks16\MinGW

键入 mingwvars.bat

cd 到 wxwidgets 文件夹。在我的系统上 C:\Users\James\code\wxwidgets-3.1.0

cd 到 ./build/msw

输入mingw32-make SHELL=CMD.exe -j4 -f makefile.gcc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1 如果您收到奇怪的“找不到文件”错误,您需要编辑生成文件 - 详细信息在此处http://stackoverflow.com/a/41498057/16582

设置code::blocks全局变量wxwidgets如下:

base                      C:\Users\James\code\wxWidgets-3.1.0
include                   C:\Users\James\code\wxWidgets-3.1.0\include
lib                       C:\Users\James\code\wxwidgets-3.1.0\lib\gcc_lib
setup ( user-defined )    C:\Users\James\code\wxWidgets-3.1.0\lib\gcc_lib\mswu

【讨论】:

  • 感谢您的建议。我下载的 Widgets dll 在 DEV-C++ 下运行良好,所以我认为问题不在于那里。你能告诉我 CodeBlocks IDE 是否可以构建动态链接到 dll 库的 Windows 应用程序吗?
  • "你能告诉我 CodeBlocks IDE 是否可以构建动态链接到 dll 库的 Windows 应用程序吗?"是的。
  • 再次感谢 ravenspoint。请帮我让CB也帮我做! “编译器设置”对话框(全局和项目)中“链接器”选项卡的“添加库”对话框不提供 .dll 作为选项,如果您将 ddls 强制添加到列表中,那么在尝试链接时,您会得到相同的“无法识别的格式” “ 错误。帮助信息没有任何意义。
  • 也许我之前提到过这个?您必须使用 code:blocks 构建库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
相关资源
最近更新 更多