J'ai une erreur lorsque j'essaie de compiler du code en utilisant CGAL dans Qt Creator.Erreur lors de la compilation de CGAL avec Qt Creator
Voici mon fichier .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
Quand j'ai ce code (il est juste un exemple), cela fonctionne:
#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;
}
Mais quand je décommenter la première ligne dans la principal: Point_2_2 p1(0, 0.3), q1(1, 0.6), r1(2, 0.9);
Il ne fonctionne pas et j'ai cette erreur:
: -1: erreur: symbole (s) non trouvé pour l'architecture x86_64
Quelqu'un pour me aider?
Merci!
Afficher la ligne de commande exécutée et le message d'erreur complet. Il vous manque probablement '-lmpfr -lgmp'. CMake gérerait cela pour vous si vous l'utilisiez. –
Je compile directement dans Qt Creator et c'est le message d'erreur complet. J'ai ajouté '-mpmp -lgmp' mais cela ne résout pas le problème. –
L'erreur que vous signalez est trop courte. S'il vous plaît essayer de trouver quels symboles ne sont pas trouvés. Cela devrait être quelque chose dans le journal de compilation complet. – lrineau