2013-03-05 141 views
0

我试图从编译如下github上的位置的代码,并得到一个错误大加赞赏C++编译错误

Github上项目的任何帮助https://github.com/aranetic/process-pst

错误是

~/process-pst (master ✘)✭ ᐅ make 
[ 7%] Building CXX object CMakeFiles/ProcessPstLib.dir/edrm.cpp.o 
/Users/gwest/process-pst/edrm.cpp: In function 'void<unnamed>::output_file(edrm_context&,  const std::wstring&, const std::wstring&, const std::vector<unsigned char, std::allocator<unsigned char> >&)': 
/Users/gwest/process-pst/edrm.cpp:177: error: 'class boost::filesystem::path' has no  member named 'file_string' 
make[2]: *** [CMakeFiles/ProcessPstLib.dir/edrm.cpp.o] Error 1 
make[1]: *** [CMakeFiles/ProcessPstLib.dir/all] Error 2 
make: *** [all] Error 2 

谢谢

回答

2

从你可以看到在boost/filesystem/path.hpp

# if defined(BOOST_FILESYSTEM_DEPRECATED) 
    // deprecated functions with enough signature or semantic changes that they are 
    // not supplied by default 
    const std::string file_string() const    { return string(); } 

    // ... 

# endif 

file_string()是“默认情况下不提供”。所以,你有三种选择:

  1. 重新编译的提升而不BOOST_FILESYSTEM_DEPRECATED标志
  2. 使用旧的Boost库。
  3. 正在尝试编译的正确源代码。
+1

该项目的最后一次提交是3年前,所以存在这个问题。 – adrianp 2013-03-05 11:56:37