неопределенная ссылка на `boost :: filesystem :: detail :: copy_file - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь установить Nova и HoneyD на машине CentOS 7, но у меня возникла проблема.

Проблема в том, что после использования команды 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

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 28 мая 2018

Я нашел решение своего собственного вопроса.

Решение состоит в том, чтобы отредактировать файл Config.cpp и заменить строку:

#include <boost/filesystem.hpp>

Для следующего:

#define BOOST_NO_CXX11_SCOPED_ENUMS
#include <boost/filesystem.hpp>
#undef BOOST_NO_CXX11_SCOPED_ENUMS

После того, как я это сделал, я перестал получать сообщение об ошибке.

...