Visual studio 2008 Visual Studio 2008中链接boost的链接器问题
我在VisualStudio2008中遇到了一个相当模糊的链接问题。链接器错误消息为:“LNK1104:无法打开文件‘boost_-thread-vc90-mt-gd-1_38.lib’”。所有路径和依赖项都已设置。 但我注意到的是,Visual Studio忽略了boost_线程-vc90-mt-gd-1_38.lib,而没有libboost_线程-vc90-mt-gd-1_38.lib(注意文件名开头的lib)。我将.lib作为libboost_thread-vc90-mt-gd-1_38.lib添加到项目中,它在命令行中显示为libboost_thread-vc90-mt-gd-1_38.libVisual studio 2008 Visual Studio 2008中链接boost的链接器问题,visual-studio-2008,boost,linker,Visual Studio 2008,Boost,Linker,我在VisualStudio2008中遇到了一个相当模糊的链接问题。链接器错误消息为:“LNK1104:无法打开文件‘boost_-thread-vc90-mt-gd-1_38.lib’”。所有路径和依赖项都已设置。 但我注意到的是,Visual Studio忽略了boost_线程-vc90-mt-gd-1_38.lib,而没有libboost_线程-vc90-mt-gd-1_38.lib(注意文件名开头的lib)。我将.lib作为libboost_thread-vc90-mt-gd-1_38.
为什么Visual Studio以文件名开头?Boost中有一个命名库的规则: 1) 用于动态链接版本的boost_-thread-vc90-mt-gd-1_38.lib 2) 用于静态链接版本的libboost_thread-vc90-mt-gd-1_38.lib
BOOST\u LIB\u前缀:“LIB”用于静态库,反之亦然。
您可以在项目中定义预处理器定义,以便使用动态链接版本的boost库boost\u DYN\u LINK=1
它有这样的描述:
BOOST\u DYN\u链接:可选:当设置链接到dll而不是静态库时。
另一个告诉我们如何使用Boost.Thread动态版本的定义是
Boost\u Thread\u use\u DLL
谢谢,在项目的深处有一个使用DLL的符号集。