gpt4 book ai didi

c++ - Boost 1.53.0 - 构建 VC++11 时出现 LNK1104 错误

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

我第一次尝试构建 boost v. 1.53 并收到此错误消息:

错误 1 ​​error LNK1104: cannot open file 'libboost_date_time-vc110-mt-gd-1_53.lib' C:\Users\ryant_000\documents\visual studio 2012\Projects\Phase 2\Phase 2\LINK Phase 2

我的包含目录中有 C:....\boost_1_53_0 和C:...\boost_1_53_0\stage\lib 关于我在链接器菜单上的附加依赖项。

我在搜索文档后找不到要链接的文件是什么?

非常感谢。

最佳答案

尽管 boost 很漂亮并且声称是一个仅包含标题的集合,但它确实有一些部分需要构建到库中以便您使用它们。其中一个库是 date_time。 Boost 是友好的,因为当您#include 一个库时,它会根据您的编译器选项自动为您链接正确的.lib 文件。需要注意的是,您需要先构建库。

你缺少的文件是libboost_date_time-vc110-mt-gd-1_53.lib,我们可以从naming convention中看到。是多线程调试版本,使用调试运行时,适用于 VC11(对你和我来说就是 Visual C++ 2012)。有可能您只是没有构建特定版本的库 - 默认情况下,boost 执行最小构建,跳过多个版本的库。虽然这需要一些时间,但我发现在 boost 中构建一切很好......嘿,硬盘空间很便宜!

打开 Visual Studio 命令提示符,然后进入 boost 目录:

C:\> cd boost_1_53_0
C:\boost_1_53_0\> bootstrap.bat vc11
C:\boost_1_53_0\> .\b2 --build-type=complete toolset=vc11
... now go and make yourself a cup of tea

这需要一些时间,但它应该构建每个库的所有组合。您可以通过将 -j4 添加到 .\b2 命令行来在多核机器上稍微加快它的速度,这将一次构建四个东西时间。

vc11 部分定义了要使用的工具集,如果您有两个编译器,这将很方便 - 理论上它不应该是必需的(boost 可以很好地找到正确的工具集),但确定一下也无妨。

如果您想测试这是否是问题所在,那么您可以指定只构建缺少的 date_time 库的所有组合:

C:\boost_1_53_0\> .\b2 --build-type=complete toolset=vc11 --with-date_time
... now go and make yourself a cold drink, this won't take so long

关于c++ - Boost 1.53.0 - 构建 VC++11 时出现 LNK1104 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16204875/

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