1. 下载boost编译后,boost头文件最好拷到/usr/include下,或者在/usr/include下有链接。
stage/lib/libboost_*中的库文件最好拷到/usr/lib中。
这样用g++运行时,可以不用指定-I$BOOST_INCLUDE和-L$BOOST_LIB.
2. 运行
g++ main.cpp SourceLine.cpp FileTravel.cpp -I$BOOST_INCLUDE -L$BOOST_LIB -lboost_filesystem
出现如下错误:
FileTravel.cpp: In member function ?.oid FileTravel::GetSubfiles(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)?.
FileTravel.cpp:27: error: invalid conversion from ?.ool (*)(const std::string&)?.to ?oid*?
FileTravel.cpp:27: error: initializing argument 2 of ?.oost::filesystem3::path::path(const Source&, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type>, void>::type*) [with Source = std::basic_string<char, std::char_traits<ch`ar>, std::allocator<char> >]?
上面出现"?"等乱码看不出错误是什么,修改xshell default language 成utf-8,
g++ main.cpp SourceLine.cpp FileTravel.cpp -lboost_filesystem -lboost_thread
运行正常。
3.总结:boost是个好库,但g++链接相对繁锁,用哪个库就要指定哪个库的样子,到底哪些库需要这个指定,待时间用长了再结论。
本文出自 “宁静而致远” 博客,请务必保留此出处http://peacefulmind.blog.51cto.com/4778867/1575538