gpt4 book ai didi

c++ - 如何在其他计算机上部署用visual studio编写的简单boost程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:57 24 4
gpt4 key购买 nike

我用 C++ 编写了一个简单的程序,它使用 boost 文件系统库来组织一些文件。我正在使用适用于 Windows 桌面 IDE 的 Visual Studio 2013 Express。我希望我的程序可以在没有安装程序或其他任何东西的情况下在其他计算机上运行。用户应该能够下载程序并单击它。

我在 Release模式下构建了我的程序,它可以在我的计算机上运行。当我尝试在另一台计算机上部署时,我得到的错误是缺少 MSVCP120.dll。为了解决这个问题,我右键单击我的项目,单击属性,然后单击配置属性 > C/C++ > 代码生成,并将运行时库从多线程 DLL (/MD) 更改为多线程 (/MT)。现在由于这个构建错误,我的程序将无法正确编译:

Error 1 error LNK1104: cannot open file 'libboost_filesystem-vc120-mt-s-1_55.lib' C:\Users\inspection\Desktop\sortFile\Project1\Project1\LINK Project1

我查看了以下文件夹:

C:\Program Files\boost\boost_1_55_0\libs\filesystem\build\msvc-12.0\release\link-static\threading-multi

我找不到 libboost_filesystem-vc120-mt-s-1_55.lib,但我可以找到 libboost_filesystem-vc120-mt-1_55.lib。文件名很接近,它们的区别仅在于位于“-mt”项之后的“-s”项。

我如何静态链接 boost 文件系统库,以便我的整个程序作为独立的可执行文件运行,而无需其他用户安装任何东西?

最佳答案

Boost 需要重新编译以匹配新的运行时库设置。 Boost 库的文件名表示它所链接的设置,Boost 自动链接代码会自动更新所需的文件名以匹配您的新设置。在这种情况下,它非常准确地表明您需要一个使用静态 stdlib 链接编译的 Boost 库。

关于c++ - 如何在其他计算机上部署用visual studio编写的简单boost程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com