繁体   English   中英

缺少关于Boost的详细信息(.lib文件)

[英]Missing A Detail About Boost (.lib files)

在使用某些Boost库时,我在哪里可以找到用于链接程序的lib文件? 决定尝试其线程功能,但我得到了

错误6致命错误LNK1104:无法打开文件'libboost_thread-vc90-mt-gd-1_42.lib'InviewviewPractice

在我包括之后

错误6致命错误LNK1104:无法打开文件'libboost_thread-vc90-mt-gd-1_42.lib'InviewviewPractice

我找不到哪里获取.lib文件在boost网站上正确链接? 有小费吗? :)

需要构建一些Boost库(例如,使用OS特定功能的库)。 您可以自己构建它们 ,也可以下载预先构建的软件包

我使用的另一种解决方案是创建您自己的包装器项目,其中包含您正在使用的boost。 通常在VS.Net中,这只是添加boost/libs/blah子目录中的cpp文件的问题。 它们编译得非常干净,因此您通常不需要对项目进行任何其他设置。 如果您想要从SCM自动化构建并且您不想签入二进制文件,我发现这种技术很有用。 它也非常快,因为你只需要构建你需要的位。 另一个优点是,创建与项目相关的配置更容易,即调试/发布,静态/动态,32/64位。 但有一点需要通过在构建项目时定义BOOST_ALL_NO_LIB来禁用自动链接选项。

或者,您需要使用jam工具为您需要的配置构建原始库。

.lib文件通常嵌套在名为stage的文件夹下,因此您可能需要在项目属性下的Additional Library Directories部分中使用boost/stage/lib替换boost/lib 本教程的第6节和第6.1节描述了此过程,但不包括Boost的stage文件夹。

您还可以对损坏的.lib文件执行文件搜索 ,以了解位置。

这完全取决于您使用的操作系统/编译器。

我建议你下载boost源代码并学习如何构建Boost。

导致此问题的原因是Boost安装默认情况下不安装线程库。 您必须在安装期间专门选择线程库。 因此,重新运行安装并选择线程库并选择编译器版本以下载相应的文件。 在本例中,对于文件“'libboost_thread-vc90-mt-gd-1_42.lib”,您需要为升级库版本1.42选择版本VC ++编译器9.0调试的多线程。

我希望这有帮助...

我使用boost版本1.44和预构建的安装程序遇到了相同的链接错误。 我解压缩了“libboost_data_time_vc100-mt-gd-144.zip”,其中只包含缺少的.lib,这似乎解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM