2011-03-04 59 views
0

我有以下代码:为什么我在C++中使用Boost Filesystem获得链接器错误?

#include <boost\filesystem.hpp> 

int main() 
{ 

    return 0; 
} 

但是当我尝试编译它,我得到下面的连接错误:

fatal error LNK1104: cannot open file 'libboost_filesystem-vc100-mt-gd-1_46.lib':

我怎样才能解决这个问题?

+0

有没有可能将错误信息翻译成英语? 'LC_MESSAGES = C make ...'应该做到这一点。 – sarnold 2011-03-04 12:16:22

+0

tx to translate.google.com:“无法打开文件” – Ralf 2011-03-04 12:18:53

回答

2

Boost使用自动链接,所以通过包含文件系统头文件,它会自动尝试找到相应的lib文件。

确保boost lib目录(lib文件所在的位置)位于visual studio/project库路径中。

+0

我下载了http://sourceforge.net/projects/boost/files/boost/1.46.0/但没有lib文件... – Marco 2011-03-04 12:27:34

+0

@Marco See http://www.boost.org/doc/libs/1_46_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary – KitsuneYMG 2011-03-04 12:41:54

+1

如果你从sourceforge下载你需要建立boost库。或者,在Windows上,您可以从http://www.boostpro.com下载安装程序,不利的一面是您需要注册(这很快),而且有时候是一个或两个版本。如果您使用安装程序,则可以指定应该下载并安装哪些版本的boost库。 – Ralf 2011-03-04 14:02:44

1

谷歌翻译:“无法打开文件”

我怀疑你没有提供提振库的库路径:

项目属性 - >链接器 - >常规 - >附加库目录

0

我只是跟着从升压的部位以下说明:

从Visual Studio中的文件菜单,选择New> Project ...

在生成的“新建项目”对话框的左侧窗格中,选择“Visual C++”>“Win32”。

在右侧窗格中,选择Win32 Console Application(VS8.0)或Win32 Console Project(VS7.1)。

在名称字段中输入“示例”

右键单击在解决方案资源管理器窗格例子,从出现的弹出式菜单中选择属性

在配置属性> C/C++>常规>附加包含目录,输入路径Boost的根目录下,例如

C:\ Program Files文件\提升\ boost_1_46_0

在配置属性> C/C++>预编译头,使用变化PRECOM (/ Yu)未使用预编译头。3

用上面的示例代码替换由IDE生成的example.cpp的内容。

从生成菜单中选择生成解决方案。

相关问题