boost - 对`boost::filesystem::detail::copy_file 的未定义引用
问题描述
我正在尝试在 CentOS 7 机器上安装 Nova 和 HoneyD,但我发现自己遇到了问题。
问题是,在我使用命令 make 后,出现以下错误:
Config.cpp:(.text+0xa2d6): undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'
../../NovaLibrary/Release//libNovaLibrary.a(NovaUtil.o): In function `Nova::RecursiveDirectoryCopy(boost::filesystem::path const&, boost::filesystem::path const&, bool)':
NovaUtil.cpp:(.text+0x25a4): undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'
collect2: error: ld returned 1 exit status
make[2]: *** [novad] Error 1
make[2]: Leaving directory `/usr/share/Nova/Novad/Release'
make[1]: *** [novad-release] Error 2
make[1]: Leaving directory `/usr/share/Nova'
make: *** [release] Error 2
我该如何解决这个问题?
解决方案
我找到了自己问题的解决方案。
解决方案是编辑文件 Config.cpp 并替换该行:
#include <boost/filesystem.hpp>
对于以下内容:
#define BOOST_NO_CXX11_SCOPED_ENUMS
#include <boost/filesystem.hpp>
#undef BOOST_NO_CXX11_SCOPED_ENUMS
在我这样做之后,我停止了错误。
推荐阅读
- vercel - 在 SvelteKit 中将 esbuild 标记为外部依赖项
- python - Tensorboard永远加载/不加载vs代码也不加载终端
- mysql - LIMIT 在 MYSQL 中使用全索引扫描而不是范围扫描
- java - Java Swing 颜色不受睡眠影响
- visual-studio-code - 如何修复:console.error('升级您的浏览器。此浏览器不支持 WebSocket 进行实时重新加载。');
- .htaccess - 310 重定向 .htaccess : everityng 之后 /directory/subdirectory 到 /directory/subdirectory
- flutter - 具有两个可滚动块的 DraggableScrollableSheet
- java - 声明一个名为 obj1 的对象和名为 div(int x, int y) 的方法。显示 obj1 将如何使用方法 div(int x, int y) 计算 a/b
- python - 如何保留新行格式化Python字符串
- c# - 将 UTC 日期时间转换为本地时间未按预期工作