在使用某些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网站上正确链接? 有小费吗? :)
答案 0 :(得分:6)
需要构建一些Boost库(例如,使用OS特定功能的库)。您可以build them yourself或下载pre-built package。
答案 1 :(得分:2)
我使用的替代解决方案是创建您自己的包装器项目,其中包含您正在使用的boost。通常在VS.Net中,这只是添加boost/libs/blah
子目录中的cpp文件的问题。它们编译得非常干净,因此您通常不需要对项目进行任何其他设置。如果您想要从SCM自动化构建并且您不想签入二进制文件,我发现这种技术很有用。它也非常快,因为你只需要构建你需要的位。另一个优点是,创建与项目相关的配置更容易,即调试/发布,静态/动态,32/64位。但有一点需要通过在构建项目时定义BOOST_ALL_NO_LIB
来禁用自动链接选项。
或者,您需要使用jam工具为您需要的配置构建原始库。
答案 2 :(得分:0)
这完全取决于您正在使用的操作系统/编译器。
我建议你下载boost源代码并学习如何构建Boost。
答案 3 :(得分:0)
导致此问题的原因是Boost安装默认情况下不安装线程库。您必须在安装期间专门选择线程库。因此,重新运行安装并选择线程库并选择编译器版本以下载相应的文件。在本例中,对于文件“'libboost_thread-vc90-mt-gd-1_42.lib”,您需要为升级库版本1.42选择版本VC ++编译器9.0调试的多线程。
我希望这会有所帮助......
答案 4 :(得分:0)
我使用boost版本1.44和预构建的安装程序遇到了相同的链接错误。我解压缩了“libboost_data_time_vc100-mt-gd-144.zip”,其中只包含缺少的.lib,这似乎解决了这个问题。
答案 5 :(得分:0)
.lib
个文件通常嵌套在名为stage
的文件夹下,因此您可能需要在其他库目录中将boost/lib
替换为boost/stage/lib
项目属性下的部分。 this tutorial的第6节和第6.1节描述了此过程,但不包括Boost的stage
文件夹。
您还可以为损坏的.lib
文件执行file search以了解该位置。