Я часами пытался получить Boost C ++ библиотеки, работающие на MacOS 10.13.6.
Я знаком с Xcode и Homebrew.
Я использовал brew install boost
для установки boost и следовал инструкциям Boost Getting Started для помощи в компиляции.
Я перепробовал все, что мог придумать, и прочитал все посты об этом, которые я могу найти в StackOverflow.
Я пытаюсь скомпилировать:
g++ -std=c++17 -stdlib=libc++ -I /usr/local/opt/boost/include -L /usr/local/opt/boost/lib ass3.cpp -o ass3 -lboost_filesystem
и я получаю следующее сообщение об ошибке:
Undefined symbols for architecture x86_64: "boost::system::detail::generic_category_ncx()", referenced from: boost::system::generic_category()
in ass3-3dc386.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я еще не пытался установить Boost из исходного кода.
Если я исключу -std=c++17
, код скомпилируется с предупреждением, что я использую псевдоним c ++ 11.По мере продвижения в своем проекте я буду использовать специфические особенности c ++ 17, поэтому мне нужно включить это, насколько я знаю.
Предупреждение компилятора:
warning: alias declarations are a C++11 extension [-Wc++11-extensions]
Чего мне не хватает?