#include <iostream>
#include <string>
#include <boost/filesystem/path.hpp>
using namespace std;
int main()
{
boost::filesystem::path path = "/home/jack/";
boost::filesystem::path tmp = "task";
path = path / tmp;
cout << "path : " << path.string() << std::endl;
return 0;
}
g++ test_str.cpp -o test_str -lboost_filesystem
/usr/bin/ld: /tmp/ccFWwMlY.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0: error adding symbols: DSO missing from command line
c++filt _ZN5boost6system15system_categoryEv
boost::system::system_category()
由于filesystem 依赖 system 动态库,所以编译时:
g++ test_str.cpp -o test_str -lboost_filesystem -lboost_system
就没问题了。
输出:
path : /home/jack/task