使用.exe打包库

Packaging libraries with .exe

本文关键字:包库 exe 使用      更新时间:2023-10-16

我使用OpenCV和WxWidgets库制作了一个应用程序。代码在我的开发机器上运行良好。

然而,当我把它传输到另一台windows机器时,我得到错误

   *"The program can't start because cv110.dll is missing from your computer.
   Try reinstalling the program to fix this problem".*

现在,我猜安装与开发中使用的相同版本的OpenCV和WxWidgets将解决这个问题,但这对我的代码的临时第三方用户来说有点过分了。

在我的IDE (Windows Visual c++ 2008)我已经链接到相关的。lib文件通过转到属性->链接器->输入

我该如何包装。exe以便它在非开发机器上工作?例如,如果我包含。dll文件,我需要如何更改链接器配置来反映这一点?或者,.lib文件引用的.dll文件可以合并到.exe文件中吗?

对不起,我知道这个问题以前出现过,但我似乎找不到针对我的情况的解决方案。任何帮助将不胜感激!

OpenCV是使用动态库构建的

正确的做法是创建一个包含你的exe和你需要的正确dll的安装程序。见https://stackoverflow.com/questions/1285591/installer-recommendation