【问题标题】:Getting LnK1104 when linking to Boost pre-compiled libraries链接到 Boost 预编译库时获取 LnK1104
【发布时间】:2012-08-25 19:36:35
【问题描述】:

我已经使用包含的工具构建了 boost,我最终得到了 stage/lib 文件夹! lib 文件夹包含几个具有以下 anming 模式的库:

libboost_*lib_name*_vc100_mt-gd-1_50.lib

libboost_*lib_name*_vc100_mt-1_50.lib

虽然使用 cl.exe 构建了一个项目,但我得到了 lib 的链接器错误 1104,具有以下模式

libboost_*lib_name*_vc100_mt-s-1_50.lib

有什么想法吗??另一方面,如果使用 Visual Studio 10 并在我的 VC++ Direcotries - Library Direcotries 中设置舞台/lib,一切都像魅力一样!

【问题讨论】:

  • 您可以查看 VS 项目设置,链接器 -> 命令行部分,看看您是否遗漏了一些参数。
  • 顺便说一句,为什么需要手动指定所有这些选项?您可以使用 VS IDE 从命令行构建您的项目 - devenv.exe /build <config name - e.g. Debug or Release> YourSolutionFileName.sln
  • 实际上我并没有在我的项目中使用 VS。我只用它来测试链接(因为我不能从 cmd 做)!
  • mt-s in lib name 表示您的项目编译时带有使用多线程和静态链接的 C++ 标准运行时库的选项。看起来您的 Boost 构建未配置为构建此类 lib 版本,因此它丢失了。
  • 已修复 - 我的第一次构建只是最小的,因此缺少一些库!你能把上面的评论变成答案吗?谢谢。

标签: c++ boost


【解决方案1】:

mt-s 在 lib 名称中表示您的项目编译时带有使用多线程和静态链接 C++ 标准运行时库的选项。看起来您的 Boost 构建未配置为构建此类 lib 版本,因此它丢失了。

【讨论】:

    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2020-04-22
    • 2012-05-08
    • 1970-01-01
    相关资源
    最近更新 更多