在Visual Studio中分发带有依赖项的C ++应用程序

时间:2016-04-05 07:33:44

标签: c++ visual-studio boost dependencies

我是一名初级程序员。我开发了一个具有大量依赖关系的Visual Studio C ++项目:Boost,指纹识别库和Windows生物识别框架。至于今天我知道Windows生物识别框架可以从标准的Windows Update下载,我并不担心,据我所知,该应用程序已准备好自行搜索和链接计算机上的WBF依赖项。

我担心的是:哪个是最容易的(不是最有效的,我需要这里的速度)方法来打包可执行文件,其中包含此.exe所需的所有资源和依赖项(Boost和指纹识别SDK),以便我可以最小化分发问题,即这个dll丢失了,请重新安装应用程序等等,而不必编译客户端计算机中的所有内容?

我已经能够在这里看到几种方法:复制项目配置中列出的dll,更改为静态链接......但我不知道这是否是最简单的方法。我几乎不相信我的能力,这些方法看起来很手动,想知道是否有自动方式来做这些事情?

2 个答案:

答案 0 :(得分:0)

与任何系统一样,您需要包含应用链接的每个.dll库以及您的应用使用的每个外部资源(图像,配置文件......)。我通常使用http://www.jrsoftware.org/isinfo.php制作Windows发行版。 非常容易使用。

答案 1 :(得分:0)

我不熟悉指纹库或WBF,但大多数Boost都存在于标头中,因此在编译应用程序时会编译它。一些,如线程库和系统特定的调用(例如,获取CPU核心数)是静态链接到的库。

提供了什么格式的指纹库?动态地,至少会有一个带有相应导入.lib文件的.dll。您的应用程序在编译后静态链接到导入程序,并在运行时绑定到库。或者,库可以包含在一个大的单个.lib中,它在编译后链接到您的应用程序。如果您有两个选项可用且只想分发二进制文件,请使用静态链接。