添加 boost 文件系统.hpp 无法编译
adding boost filesystem.hpp doesn't compile
我的cmake中有文件系统:
find_package(Boost 1.63.0 COMPONENTS program_options system filesystem thread REQUIRED)
当我编译时,它说Found the following Boost libraries
,包括filesystem
。
一切都编译得很好。但是,一旦我尝试包括:
#include <boost/filesystem.hpp>
我收到以下错误。这是怎么回事?
CMakeFilesrunBasicBrimusTests.dir/objects.a(boost_filesystem_check.cpp.obj): In function `_static_initialization_and_destruction_0': C:/Users/b.karjoo/Documents/boost_1_63_0/boost/system/error_code.hpp:221: undefined reference to `boost::system::generic_category()' C:/Users/b.karjoo/Documents/boost_1_63_0/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()' C:/Users/b.karjoo/Documents/boost_1_63_0/boost/system/error_code.hpp:223: undefined reference to `boost::system::system_category()' collect2.exe: error: ld returned 1 exit status Brimus-Testbasic_testsCMakeFilesrunBasicBrimusTests.dirbuild.make:910: recipe for target 'Brimus-Test/basic_tests/runBasicBrimusTests.exe' failed CMakeFilesMakefile2:293: recipe for target 'Brimus-Test/basic_tests/CMakeFiles/runBasicBrimusTests.dir/all' failed mingw32-make.exe[3]: *** [Brimus-Test/basic_tests/runBasicBrimusTests.exe] Error 1 mingw32-make.exe[2]: *** [Brimus-Test/basic_tests/CMakeFiles/runBasicBrimusTests.dir/all] Error 2 mingw32-make.exe[1]: *** [Brimus-Test/basic_tests/CMakeFiles/runBasicBrimusTests.dir/rule] Error 2 CMakeFilesMakefile2:305: recipe for target 'Brimus-Test/basic_tests/CMakeFiles/runBasicBrimusTests.dir/rule' failed Makefile:169: recipe for target 'runBasicBrimusTests' failed mingw32-make.exe: *** [runBasicBrimusTests] Error 2
您应该在 cmake
中添加目标链接库。
find_package(Boost 1.63.0 COMPONENTS program_options system filesystem thread
REQUIRED)
target_link_libraries(mytarget
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
)
相关文章:
- 如何将class.cpp和class.hpp编译为一个.o文件
- BGL:当包含 random_spanning_tree.hpp 时,对strong_components的调用无法编译
- 添加 boost 文件系统.hpp 无法编译
- 我可以使用 cmake/make 编译我使用的所有且仅编译 cpp/hpp 文件吗?
- 使用Cygwin win32_api.hpp编译Boost Log中的错误
- 使用 g++-8 编译时找不到 boost/asio/io_context.hpp
- 如何使用text.hpp(可选模块)重新编译OpenCV
- iOS-核心HPP标头必须使用C 编译
- 致命错误:opencv2/core.hpp:opencv4 中没有此类文件或目录编译终止
- GCC:为什么编译.HPP文件与.cpp文件的结果不同
- 如何在Visual Studio 2013中编译.h和.hpp
- 编译错误与 boost/algorithm/string/trim.hpp.
- OpenCV 编译错误与非自由/feature2d.hpp.
- G++编译.hpp和.cpp文件的方式与共享库不同
- OpenCV 2.4.2 编译"operations.hpp"问题
- Opencv 2.4 编译错误与 objectdetect.hpp.
- 链接/编译使用 boost/filesystem.hpp 的程序
- 在 C++ 中编译多个 .hpp 和 .cpp 文件时出错
- 使用 SCons 编译时找不到 glm.hpp
- boost bind.hpp 1.54 c++ 专用模板无法在 Solaris 上编译。有效C++?