2012-03-16 37 views
0

Я пытаюсь скомпилировать код на C++, который использует библиотеку CGAL для OS X Lion. Я загрузил и установил в какой-то каталог библиотеку CGAL. Затем, когда я пытаюсь скомпилировать код, используя «make»;Проблемы с компиляцией с библиотеками

triangulation.h:18:64: error: CGAL/Exact_predicates_inexact_constructions_kernel.h: No such file or directory 

что означает, что он не находит CGAL lib. Я смотрю на Makefile, и я вижу, что он компилируется с использованием флага

-lCGAL 

Хочет знать, как решить эту проблему, я думаю, я мог бы передать информацию о размещении моих скомпилированных библиотек к этому переменному, но я не как. Я пробовал с экспортом и так далее, но он не распознает его, никаких намеков?

ответ

2

Сообщение об ошибке не означает, что библиотека не найдена; это означает, что заголовочный файл не найден. Переключатель -lCGAL действительно относится к библиотеке. Вам понадобится коммутатор -IXXXXX, добавленный на CFLAGS, где XXXXX - это путь к каталогу, содержащему каталог CGAL, который, в свою очередь, содержит Exact_predicates_inexact_constructions_kernel.h.

+0

проблема, которую я вижу в том, что код, внутренне использует во многих местах "ценность" CGAL как #include #include #include typedef CGAL :: Exact_predicates_inexact_constructions_kernel \t K; поэтому я не знаю, как это преодолеть – flow

+0

Соблюдайте мои инструкции, и это будет сделано. Флаг '-I 'добавляет каталог, в который нужно искать включенные файлы. Вы хотите, чтобы компилятор выполнял поиск в каталоге, который * содержит * каталог 'CGAL', который содержит файлы заголовков. –

+0

Я принял во внимание ваши советы, но он пока не работает. Я не знаю, может ли источником ошибок быть тот факт, что в каталоге CGAL lib ничего не называется строго CGAL, но варианты этого имени – flow

Смежные вопросы