【发布时间】: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 版本,因此它丢失了。
-
已修复 - 我的第一次构建只是最小的,因此缺少一些库!你能把上面的评论变成答案吗?谢谢。