-
将 #include <filesystem>
改为:
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
-
此后编译还会发生如下报错:
CMakeFiles/cornerMultiPhotosChoose.dir/src/corner_multi_photos_choose.cpp.o: In function main': /usr/include/c++/7/experimental/bits/fs_path.h:199: undefined reference to
std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()’ CMakeFiles/cornerMultiPhotosChoose.dir/src/corner_multi_photos_choose.cpp.o: In function main': /usr/include/c++/7/experimental/bits/fs_dir.h:188: undefined reference to
std::experimental::filesystem::v1::__cxx11::directory_iterator::directory_iterator(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::directory_options, std::error_code*)’ CMakeFiles/cornerMultiPhotosChoose.dir/src/corner_multi_photos_choose.cpp.o: In function main': /home/q409/ws_livox/src/livox_camera_lidar_calibration/src/corner_multi_photos_choose.cpp:101: undefined reference to
std::experimental::filesystem::v1::__cxx11::directory_iterator::operator*() const’ CMakeFiles/cornerMultiPhotosChoose.dir/src/corner_multi_photos_choose.cpp.o: In function main': /usr/include/c++/7/experimental/bits/fs_path.h:199: undefined reference to
std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()’ /usr/include/c++/7/experimental/bits/fs_path.h:982: undefined reference to std::experimental::filesystem::v1::__cxx11::path::_M_find_extension() const' /usr/include/c++/7/experimental/bits/fs_path.h:192: undefined reference to
std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()’ /usr/include/c++/7/experimental/bits/fs_path.h:505: undefined reference to std::experimental::filesystem::v1::__cxx11::path::compare(std::experimental::filesystem::v1::__cxx11::path const&) const' CMakeFiles/cornerMultiPhotosChoose.dir/src/corner_multi_photos_choose.cpp.o: In function
main’: /home/q409/ws_livox/src/livox_camera_lidar_calibration/src/corner_multi_photos_choose.cpp:101: undefined reference to `std::experimental::filesystem::v1::__cxx11::directory_iterator::operator++()’ collect2: error: ld returned 1 exit status li
-
在 CMakeLists.txt
中添加 stdc++fs
:
add_executable(cornerMultiPhotosChoose src/corner_multi_photos_choose.cpp src/common.h)
target_link_libraries(cornerMultiPhotosChoose ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} ${Boost_LIBRARIES} stdc++fs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)