升压LIB连接错误的Visual C ++

我下载的源Launchy,我试图在Visual Studio 2005来构建它的Launchy项目中使用VC7建成,所以我不得不更新项目文件VC8和过程似乎进展顺利。 然而,Launchy还采用了升压1.33.1库和我所建是升压1.41.0库(道具提振使得最近的库更容易建立),所以我也更新项目指向我的新升压库安装。 现在,我得到下面的连接错误:

fatal error LNK1104: cannot open file 'libboost_regex-vc80-mt-sgd-1_41.lib'

我曾在升压lib目录一看,我能找到最匹配?

libboost_regex-vc80-mt-gd-1_41.lib

请注意,缺少的“S”。 我不明白,在库的区别是什么,以及是否Visual Studio是找错了东西或者我加速构建过程未能建立正确的库。 任何人都可以点我在正确的方向?

作为一个实验,我做了正则表达式的lib,我有一个副本,并将其更名为哪些连接器正在寻找。 这给了我大约已经在MSVCRTD.LIB定义的符号,如下面的链接器错误的一个长长的清单:

error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in libcmtd.lib(typinfo.obj)

我将尝试建立了Boost 1.33.1库,并在该点,而不是我的Launchy项目文件。 但我仍想知道什么是错我的升压1.41.0库。

编辑:我发现,在升压文档什么的's'库是一个参考:

使用静态链接到C ++时,标准库和编译器运行支持库这个库。

所以它看起来像的“库是正确的。 现在我只需要弄清楚如何构建它们。

解决方案:我可以用下面的命令行编译缺少升压库。

bjam --build-type=complete msvc stage

我跑了后,已经在DIR运行boostrap.bat提升的地方居住。

--------------解决方案-------------

不同的是清楚地描述在升压文档 - “MT-新元”的意思是“调试,静态链接的运行时库,多线程,使用调试符号”。 “MT-gd的”是相同的,但是使用动态链接运行时间库(即MSVCRTD.LIB代替libcmtd.lib)。

要么改变项目设置使用动态CRT链接(IE / MDD而不是/ MTD),或使用静态链接建设加速 - 混合这些将不能正常工作。

你用什么命令来构建提升? 请尝试指定搭建型=完整。 通常它应该建立在S库了。

分类:C# 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.778 (s). 10 q(s)