【问题标题】:How to compile a program in wxSmith ( Codeblocks ) with all the libraries?如何使用所有库在 wxSmith ( Codeblocks ) 中编译程序?
【发布时间】:2012-01-27 02:11:38
【问题描述】:

我已经在 Codeblocks(wxWidgets 应用程序)中创建了一个程序,我已经编译了它,它在从 codeblocks 界面执行时运行完美......但是当我进入发布文件夹并运行可执行文件时,它给了我 *.dll文件错误:/ 如何制作程序?

【问题讨论】:

  • 你能显示实际的错误输出吗?
  • dll 文件是 'wxmsw28_gcc.dll' 我从 C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_dll 获取 dll 文件并将其粘贴到应用程序目录中......然后它显示缺少mingwm10.dll:/所以我猜整个文件夹都是必需的:/

标签: c++ visual-c++ wxpython wxwidgets codeblocks


【解决方案1】:

很有可能 Code:Blocks 有一个包含库路径的可执行路径的默认设置。当 Windows 使用 PATH 环境变量查找 DLL 时,这将确保您的应用程序在 CodeBlocks 中工作。

但是,为了在 CodeBlocks 之外运行它,您需要将所有依赖项复制到保存应用程序的目录中,或者您必须设置 PATH 变量以包含保存依赖项的目录。

【讨论】:

  • 我如何让它在其他计算机上运行?
  • 我可以设置 PATH 变量以包含包含依赖项的目录....但是在其他计算机上运行程序呢?我将需要大约 500 mb 的整个库:/
  • 是的,您需要将所有依赖项复制到另一台计算机。
  • 那只是蹩脚:/因为我的程序大约 500kb 而库是 500 mb :/
  • @Rohanchrome - 但这并不是说你都在使用它们。只需复制您需要的那些。这个工具会为你列出它们:dependencywalker.com - 如果做不到这一点,只需构建应用程序,使库是静态链接的,而不是动态链接的。 (exe 变得更大,但不依赖其他任何东西 - 无需复制 .dll/.so 文件)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 2015-07-01
  • 2013-04-04
  • 2020-10-09
相关资源
最近更新 更多