Я пытаюсь создать свое приложение на C ++, которое использует boost 1.68.0.При попытке собрать его с помощью cmake и make, я получаю следующие ошибки компоновки:
/usr/local/bin/g++ -Wall -Wextra -g3 -std=c++14 -Wl,-rpath=/usr/local/lib -L/usr/local/lib CMakeFiles/Supervisor.dir/HeartbeatManager.cpp.o CMakeFiles/Supervisor.dir/JobReceiver.cpp.o CMakeFiles/Supervisor.dir/ResultSender.cpp.o CMakeFiles/Supervisor.dir/Supervisor.cpp.o CMakeFiles/Supervisor.dir/Process.cpp.o -o Supervisor -rdynamic -lpthread -lboost_system-mt
CMakeFiles/Supervisor.dir/HeartbeatManager.cpp.o: In function `boost::system::system_category()':
/usr/local/include/boost/system/error_code.hpp:473: undefined reference to `boost::system::detail::system_category_instance'
При переключении флага -std=c++14
на -std=c++11
ошибка исчезает.Я получил идею из этого ответа .Я не знаю, почему это исправляет.Теперь в моем проекте я не могу использовать флаг -std=c++11
вместо флага -std=c++14
.