Получение ошибки компиляции при запуске кода CGAL в Mac - PullRequest
0 голосов
/ 07 апреля 2019

Я пытаюсь использовать CGAL в проекте. Я установил CGAL, используя brew:

brew install cgal

Затем я попытался запустить простой код. Я пытаюсь запустить первый код этой веб-страницы:

https://doc.cgal.org/4.7-beta1/Manual/introduction.html

Я попытался скомпилировать код с помощью следующей команды:

g++ -lcgal points_and_segment.cpp -o points_and_segment

Но я получаю эту ошибку:

Undefined symbols for architecture x86_64:
  "boost::detail::get_tss_data(void const*)", referenced from:
      boost::thread_specific_ptr<double>::get() const in points_and_segment-78cb9a.o
  "boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)", referenced from:
      boost::thread_specific_ptr<double>::reset(double*) in points_and_segment-78cb9a.o
      boost::thread_specific_ptr<double>::~thread_specific_ptr() in points_and_segment-78cb9a.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я попытался включить в команду -lboost или -lboost_thread. Но тогда я получаю следующие ошибки:

ld: library not found for -lboost
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ld: library not found for -lboost_thread
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я пробовал то же самое с -v. Тогда я получаю следующее:

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
 "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name points_and_segment.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 274.2 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Library/Developer/CommandLineTools/usr/bin/../lib/clang/8.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/abureyanahmed/cgal_test -ferror-limit 19 -fmessage-length 143 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/vf/b6nrfcl95l56768gldg25r1m0000gn/T/points_and_segment-c5ee94.o -x c++ points_and_segment.cpp
clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin15.6.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1
 /usr/local/include
 /Library/Developer/CommandLineTools/usr/bin/../lib/clang/8.0.0/include
 /Library/Developer/CommandLineTools/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
 "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.11.0 -o points_and_segment -lcgal -lboost /var/folders/vf/b6nrfcl95l56768gldg25r1m0000gn/T/points_and_segment-c5ee94.o -lc++ -lSystem /Library/Developer/CommandLineTools/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
ld: library not found for -lboost
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я искал папку установки cgal. Это следующий путь в моей машине:

cd /usr/local/opt/cgal/

Папка для наддува:

cd /usr/local/opt/boost/
.brew/                INSTALL_RECEIPT.json  include/              lib/

1 Ответ

0 голосов
/ 20 апреля 2019

Я тоже с этим боролся.Этот сайт помог:

https://discourse.brew.sh/t/could-not-link-to-boost/2125/4

...