在ubuntu中编译代码时出现了如下错误:
:-1: error: CMakeFiles/**/main.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
经过我仔细的查找问题后发现原因是在编译时没有链接boost_system和boost_filesystem这两个库,如果采用GCC或G++编译的话,可以在末尾直接添加 -lboost_system -lboost_file_system
如果在ubunt16.04中使用cmake进行编译的话,需要在CMakelists.txt文件中添加如下代码:
find_package(Boost COMPONENTS system filesystem REQUIRED)
target_link_libraries(target ${Boost_FILESYSTEM_LIBRARY})
target_link_libraries(target ${Boost_SYSTEM_LIBRARY})
如果在ubunt18.04中使用cmake进行编译的话,需要在CMakelists.txt文件中添加如下代码:
find_package(Boost COMPONENTS system filesystem REQUIRED)
target_link_libraries(target ${Boost_LIBRARIES})