C ++: неопределенные символы для архитектуры x86_64 - проблема с связыванием? - PullRequest
0 голосов
/ 10 апреля 2020

Я использую Eclipse для создания проекта C ++ (не проект C / C ++, Arduino, C или Makefile, а проект C ++ из мастера) для исследования возможностей ведения журналов Boost Library . Я дословно скопировал код из Boost's примеров для тривиального ведения журнала, найден здесь , но я не могу его собрать / запустить, и в моей консоли выдается следующая ошибка компиляции:

make all 
Building target: Boost Logging
Invoking: MacOS X C++ Linker
g++ -L/usr/local/lib/ -o "Boost Logging"  ./src/Runner.o   -lboost_log_setup -lpthread -lboost_system -lboost_thread-mt -lboost_log
Undefined symbols for architecture x86_64:
  "boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)", referenced from:
      boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*) in Runner.o
  "boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)", referenced from:
      boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in Runner.o
  "boost::log::v2s_mt_posix::core::set_filter(boost::log::v2s_mt_posix::filter const&)", referenced from:
      init() in Runner.o
  "boost::log::v2s_mt_posix::core::get()", referenced from:
      init() in Runner.o
  "boost::log::v2s_mt_posix::attribute_value_set::end() const", referenced from:
      boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in Runner.o
  "boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const", referenced from:
      boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in Runner.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Boost Logging] Error 1
"make all" terminated with exit code 2. Build might be incomplete.

Когда я не связывал свойство библиотек (в частности, GraphViz ), я автоматически предположил, что это та же проблема. Однако, как вы можете видеть, я связал некоторые библиотеки, но все еще получаю те же ошибки сборки.

Что я пропускаю / делаю неправильно?

...