使用boost文件系统构建时出现问题

时间:2014-01-29 22:23:14

标签: c++ boost

我想使用boost文件系统函数,我搜索了我的构建日志并找到了这些行:

  

1>搜索C:\ local \ boost_1_55_0 \ stage \ lib \ libboost_filesystem-vc90-mt-1_55.lib:   1 GT;搜索C:\ local \ boost_1_55_0 \ stage \ lib \ libboost_system-vc90-mt-1_55.lib:   1 GT;搜索C:\ local \ boost_1_55_0 \ stage \ lib \ boost_system-vc90-1_55.lib:

所以它确实找到了lib。

我的医学是什么:

  

proc1.obj:错误LNK2001:未解析的外部符号“unsigned __int64 __cdecl boost :: filesystem :: detail :: file_size(类boost :: filesystem :: path const&,类boost :: system :: error_code *) “(?file_size @ detail @ filesystem @ boost @@ YA_KAEBVpath @ 23 @ PEAVerror_code @ system @ 3 @@ Z)

如何解决这个问题?

我的测试代码:

#include <stdlib.h>
#include <string>
#include <iostream>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp> 

using namespace std;
namespace fs = boost::filesystem;  


int main()
{
    string filepath( "H:\\DataSets\\xxx" );
    int a = fs::file_size(filepath.c_str());

}

1 个答案:

答案 0 :(得分:0)

正如您在评论中所述,您只是与boost::filesystem相关联。 boost::filesystem取决于boost::system,因此您还必须链接到boost::system