неопределенная ссылка CGAL :: precondition_fail - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь построить проект с CMake в режиме отладки. Проект содержит несколько библиотек stati c, динамическую библиотеку c и исполняемый файл. Исполняемый файл связывается с библиотекой Dynami c, а библиотека Dynami c связывается с несколькими внешними библиотеками Dynami c и с проектными библиотеками stati c. Одна из библиотек stati c зависит от CGAL. ​​

Static A -> CGAL
Static B
Dynamic C -> Static A, Static B, Qt...
Executable -> Dynamic C

При компиляции в режиме Release все работает нормально, но при компиляции в режиме отладки я получаю

[100%] Linking CXX executable ../../bin/Executable
/usr/bin/ld: ../../lib/DynamicC.so: undefined reference to `CGAL::precondition_fail(char const*, char const*, int, char const*)'
collect2: error: ld returned 1 exit status

I проверил экспортированные символы для Dynami cC с nm -D DynamicC | grep CGAL::precondition_fail, и он говорит, что его неопределенное значение

nm -C DynamicC.so | grep CGAL::precondition
                 U CGAL::precondition_fail(char const*, char const*, int, char const*)

Я использую самую последнюю версию CGAL только для заголовков. Я не понимаю, почему он жалуется на неопределенную ссылку в режиме отладки, но не в версии, или как это исправить. Есть идеи?

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