Ошибка компиляции C ++ undefined ссылка на log4cplus и boost - PullRequest
0 голосов
/ 29 мая 2020

Контекст

Я вытащил код из репозитория concord по адресу https://github.com/vmware/concord. Мне удалось создать docker изображений нормально. В документации по адресу https://concord.readthedocs.io/en/latest/deployment/deployment.html#confguration -file-generator упоминается генератор файла конфигурации, который используется для генерации файлов конфигурации, необходимых для запуска узла concord с использованием docker run (команда для запуска concord узел определяется в https://concord.readthedocs.io/en/latest/deployment/deployment.html#concord -узлах ). Этот генератор файла конфигурации представляет собой файл. cpp, который называется conc_genconfig. cpp (доступен по адресу https://github.com/vmware/concord/blob/master/tools/conc_genconfig.cpp) и требует ввода .yml. При этом используются файлы библиотеки из log4cplus и boost. Я установил их, просмотрев файл Dockerfile в папке Builder (доступен по адресу https://github.com/vmware/concord/blob/master/docker/dockerfiles/builder/Dockerfile)

Проблема Когда я компилирую conc_genconfig. cpp с помощью следующей команды :

g++ -Wall -g -std=c++11 -LLIBDIR  -I /home/ubuntu/concord/src -I /home/ubuntu/concord-bft/threshsign/include/threshsign conc_genconfig.cpp

Я получаю следующие ошибки вывода / компиляции:

In file included from conc_genconfig.cpp:23:0:
/home/ubuntu/concord/src/config/configuration_manager.hpp:1547:23: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
     kPositiveIntLimits({1, INT_MAX});
                       ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1549:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
     kPositiveUInt16Limits({1, UINT16_MAX});
                          ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1551:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
     kPositiveUInt64Limits({1, UINT64_MAX});
                          ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1553:29: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
     kPositiveULongLongLimits({1, ULLONG_MAX});
                             ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1554:77: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline const std::pair<unsigned long long, unsigned long long> kUInt16Limits(
                                                                             ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1556:77: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline const std::pair<unsigned long long, unsigned long long> kUInt32Limits(
                                                                             ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1558:77: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline const std::pair<unsigned long long, unsigned long long> kUInt64Limits(
                                                                             ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1560:58: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline const std::pair<long long, long long> kInt32Limits({INT32_MIN,
                                                          ^
/home/ubuntu/concord/src/config/configuration_manager.hpp:1566:45: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
     kConcordBFTCommunicationBufferSizeLimits({512, UINT32_MAX});
                                             ^
/tmp/cc2pIDGw.o: In function `main':
/home/ubuntu/concord/tools/conc_genconfig.cpp:44: undefined reference to `log4cplus::initialize()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:45: undefined reference to `log4cplus::Logger::getDefaultHierarchy()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:45: undefined reference to `log4cplus::BasicConfigurator::BasicConfigurator(log4cplus::Hierarchy&, bool)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:46: undefined reference to `log4cplus::PropertyConfigurator::configure()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:48: undefined reference to `log4cplus::Logger::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:54: undefined reference to `boost::program_options::variables_map::variables_map()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:55: undefined reference to `boost::program_options::options_description::m_default_line_length'
/home/ubuntu/concord/tools/conc_genconfig.cpp:55: undefined reference to `boost::program_options::options_description::m_default_line_length'
/home/ubuntu/concord/tools/conc_genconfig.cpp:55: undefined reference to `boost::program_options::options_description::options_description(unsigned int, unsigned int)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:58: undefined reference to `boost::program_options::options_description::add_options()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:59: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:63: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:70: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:71: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:85: undefined reference to `boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:92: undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:95: undefined reference to `boost::program_options::notify(boost::program_options::variables_map&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:97: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:97: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:97: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:100: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:100: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:100: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:108: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:108: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:108: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:114: undefined reference to `concord::config::YAMLConfigurationInput::YAMLConfigurationInput(std::istream&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:116: undefined reference to `concord::config::YAMLConfigurationInput::parseInput()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:129: undefined reference to `concord::config::ConcordConfiguration::ConcordConfiguration()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:130: undefined reference to `concord::config::specifyConfiguration(concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:131: undefined reference to `concord::config::ConcordConfiguration::setConfigurationStateLabel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:134: undefined reference to `concord::config::loadClusterSizeParameters(concord::config::YAMLConfigurationInput&, concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:141: undefined reference to `concord::config::instantiateTemplatedConfiguration(concord::config::YAMLConfigurationInput&, concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:150: undefined reference to `concord::config::loadConfigurationInputParameters(concord::config::YAMLConfigurationInput&, concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:156: undefined reference to `concord::config::ConcordConfiguration::loadAllDefaults(bool, bool)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:158: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:158: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:158: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:164: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:164: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:164: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:167: undefined reference to `concord::config::generateConfigurationKeys(concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:168: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:168: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:168: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:177: undefined reference to `concord::config::ConcordConfiguration::generateAll(bool, bool)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:179: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:179: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:179: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:185: undefined reference to `concord::config::ConcordConfiguration::scopeIsInstantiated(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:186: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:186: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:186: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:192: undefined reference to `concord::config::ConcordConfiguration::validateAll(bool, bool)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:194: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:194: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:194: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:199: undefined reference to `concord::config::hasAllParametersRequiredAtConfigurationGeneration(concord::config::ConcordConfiguration&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:200: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:200: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:200: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:205: undefined reference to `concord::config::ConcordConfiguration::scopeSize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:210: undefined reference to `concord::config::YAMLConfigurationOutput::YAMLConfigurationOutput(std::ostream&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:212: undefined reference to `concord::config::outputConcordNodeConfiguration(concord::config::ConcordConfiguration const&, concord::config::YAMLConfigurationOutput&, unsigned long)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:222: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:222: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:222: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:222: undefined reference to `concord::config::YAMLConfigurationOutput::~YAMLConfigurationOutput()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:231: undefined reference to `concord::config::outputPrincipalLocationsMappingJSON(concord::config::ConcordConfiguration&, std::ostream&)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:241: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:241: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:241: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:129: undefined reference to `concord::config::ConcordConfiguration::~ConcordConfiguration()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:114: undefined reference to `concord::config::YAMLConfigurationInput::~YAMLConfigurationInput()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:48: undefined reference to `log4cplus::Logger::~Logger()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:45: undefined reference to `log4cplus::BasicConfigurator::~BasicConfigurator()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:118: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:118: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:118: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:124: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:124: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:124: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:136: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:136: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:136: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:143: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:143: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:143: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:152: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:152: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:152: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:170: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:170: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:170: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:173: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:173: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:173: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:214: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:214: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:214: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:218: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:218: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:218: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:210: undefined reference to `concord::config::YAMLConfigurationOutput::~YAMLConfigurationOutput()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:233: undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
/home/ubuntu/concord/tools/conc_genconfig.cpp:233: undefined reference to `log4cplus::detail::get_macro_body_oss[abi:cxx11]()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:233: undefined reference to `log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)'
/home/ubuntu/concord/tools/conc_genconfig.cpp:129: undefined reference to `concord::config::ConcordConfiguration::~ConcordConfiguration()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:114: undefined reference to `concord::config::YAMLConfigurationInput::~YAMLConfigurationInput()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:48: undefined reference to `log4cplus::Logger::~Logger()'
/home/ubuntu/concord/tools/conc_genconfig.cpp:45: undefined reference to `log4cplus::BasicConfigurator::~BasicConfigurator()'
/tmp/cc2pIDGw.o: In function `boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper()':
/usr/include/boost/program_options/value_semantic.hpp:91: undefined reference to `vtable for boost::program_options::value_semantic_codecvt_helper<char>'
/tmp/cc2pIDGw.o: In function `boost::program_options::value_semantic_codecvt_helper<char>::~value_semantic_codecvt_helper()':
/usr/include/boost/program_options/value_semantic.hpp:91: undefined reference to `vtable for boost::program_options::value_semantic_codecvt_helper<char>'
/tmp/cc2pIDGw.o: In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)':
/usr/include/boost/program_options/detail/parsers.hpp:44: undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)'
/tmp/cc2pIDGw.o: In function `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)':
/usr/include/boost/program_options/detail/parsers.hpp:52: undefined reference to `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)'
/tmp/cc2pIDGw.o: In function `boost::program_options::basic_command_line_parser<char>::run()':
/usr/include/boost/program_options/detail/parsers.hpp:108: undefined reference to `boost::program_options::detail::cmdline::get_canonical_option_prefix()'
/usr/include/boost/program_options/detail/parsers.hpp:109: undefined reference to `boost::program_options::detail::cmdline::run()'
/tmp/cc2pIDGw.o: In function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > boost::program_options::to_internal<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
/usr/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/cc2pIDGw.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
/tmp/cc2pIDGw.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTIN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>'
/tmp/cc2pIDGw.o: In function `boost::program_options::variables_map::~variables_map()':
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
/tmp/cc2pIDGw.o: In function `boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const':
/usr/include/boost/program_options/detail/value_semantic.hpp:22: undefined reference to `boost::program_options::arg[abi:cxx11]'
/tmp/cc2pIDGw.o: In function `boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const':
/usr/include/boost/program_options/detail/value_semantic.hpp:184: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)'
collect2: error: ld returned 1 exit status

Версии и ОС Я использую: Ubuntu 18.04.3 LTS g cc версия: g cc (Ubuntu 7.5.0-3ubuntu1 ~ 18.04) 7.5.0 Версия g ++: g ++ (Ubuntu 7.5.0-3ubuntu1 ~ 18.04) 7.5.0 Версия libboost: Версия: 1.65.1.0ubuntu1

Переменные среды Я установил LD_LIBRARY_PATH в / usr / local / lib. Здесь были созданы библиотеки log4cplus.

Прошу прощения, если этот вопрос не ясен. Пожалуйста, дайте мне знать, если это так, чтобы я мог улучшить свой вопрос. Если есть возможность, добавьте к вопросу метку «согласие».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...