У меня возникла ошибка, когда я пытаюсь скомпилировать код с помощью CGAL в Qt Creator.Ошибка компиляции CGAL с Qt Creator
Вот мой файл .pro:
QT += core
QT -= gui
TARGET = TestCCGALAppliConsole
CONFIG += console
CONFIG -= app_bundle
CONFIG -= x86_64
CONFIG += i386
TEMPLATE = app
INCLUDEPATH += /opt/local/include
LIBS += -L/opt/local/include
SOURCES += main.cpp
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/release/ -lCGAL
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/debug/ -lCGAL
else:unix: LIBS += -L$$PWD/../../../opt/local/lib/ -lCGAL
INCLUDEPATH += $$PWD/../../../opt/local/include
DEPENDPATH += $$PWD/../../../opt/local/include
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/release/ -lCGAL_ImageIO
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/debug/ -lCGAL_ImageIO
else:unix: LIBS += -L$$PWD/../../../opt/local/lib/ -lCGAL_ImageIO
INCLUDEPATH += $$PWD/../../../opt/local/include
DEPENDPATH += $$PWD/../../../opt/local/include
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/release/ -lCGAL_Core
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../opt/local/lib/debug/ -lCGAL_Core
else:unix: LIBS += -L$$PWD/../../../opt/local/lib/ -lCGAL_Core
INCLUDEPATH += $$PWD/../../../opt/local/include
DEPENDPATH += $$PWD/../../../opt/local/include
Когда у меня есть этот код (это просто пример), работает:
#include <iostream>
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
typedef CGAL::Simple_cartesian<double> Kernel;
typedef Kernel::Point_2 Point_2;
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel2;
typedef Kernel2::Point_2 Point_2_2;
int main()
{
// Point_2_2 p1(0, 0.3), q1(1, 0.6), r1(2, 0.9);
{
Point_2 p(0, 0.3), q(1, 0.6), r(2, 0.9);
std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n");
}
{
Point_2 p(0, 1.0/3.0), q(1, 2.0/3.0), r(2, 1);
std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n");
}
{
Point_2 p(0,0), q(1, 1), r(2, 2);
std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n");
}
return 0;
}
Но когда я раскомментировать первую строку в main: Point_2_2 p1(0, 0.3), q1(1, 0.6), r1(2, 0.9);
Не работает, и у меня есть эта ошибка:
: -1: ERREUR: символ (ы) не найдено для архитектуры x86_64
Кто-то, чтобы помочь мне?
Спасибо!
Показать, какая команда фактически выполняется, и полное сообщение об ошибке. Вероятно, вам не хватает '-lmpfr -lgmp'. CMake будет обрабатывать это для вас, если вы его использовали. –
Я компилирую непосредственно в Qt Creator, и это полное сообщение об ошибке. Я добавил '-lmpfr -lgmp', но это не решает проблему. –
Ошибка, о которой вы сообщаете, слишком короткая. Попробуйте выяснить, какие символы не найдены. Это должно быть что-то в полном журнале компиляции. – lrineau