Architecture 使用Qt Creator编译CGAL时出错

Architecture 使用Qt Creator编译CGAL时出错,architecture,qt-creator,x86-64,symbols,cgal,Architecture,Qt Creator,X86 64,Symbols,Cgal,我在Qt Creator中尝试使用CGAL编译一些代码时出错 这是我的.pro文件: QT += core QT -= gui TARGET = TestCCGALAppliConsole CONFIG += console CONFIG -= app_bundle CONFIG -= x86_64 CONFIG += i386 TEMPLATE = app INCLUDEPATH += /opt/local/include LIBS

我在Qt Creator中尝试使用CGAL编译一些代码时出错

这是我的.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;
}
#包括
#包括
#包括
简单笛卡尔核;
typedef内核::Point_2 Point_2;
typedef CGAL::精确谓词\精确构造\内核内核2;
typedef内核2::Point_2 Point_2_2;
int main()
{
//点1(0,0.3),q1(1,0.6),r1(2,0.9);
{
点p(0,0.3),q(1,0.6),r(2,0.9);

std::cout以下是问题的解决方案:

.pro文件:

QT       += core

QT       -= gui

TARGET = TestCCGALAppliConsole
CONFIG   += console
CONFIG   -= app_bundle
CONFIG += c++11

TEMPLATE = app

INCLUDEPATH += /usr/local/include
DEPENDPATH  += /usr/local/include
LIBS        += -L/usr/local/include

macx: LIBS += -L/usr/local/lib/ -lgmp
macx: LIBS += -L/usr/local/lib/ -lmpfr
macx: LIBS += -L/usr/local/lib/ -lCGAL

SOURCES += main.cpp
#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.cpp:

QT       += core

QT       -= gui

TARGET = TestCCGALAppliConsole
CONFIG   += console
CONFIG   -= app_bundle
CONFIG += c++11

TEMPLATE = app

INCLUDEPATH += /usr/local/include
DEPENDPATH  += /usr/local/include
LIBS        += -L/usr/local/include

macx: LIBS += -L/usr/local/lib/ -lgmp
macx: LIBS += -L/usr/local/lib/ -lmpfr
macx: LIBS += -L/usr/local/lib/ -lCGAL

SOURCES += main.cpp
#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;
}
#包括
#包括
#包括
简单笛卡尔核;
typedef内核::Point_2 Point_2;
typedef CGAL::精确谓词\精确构造\内核内核2;
typedef内核2::Point_2 Point_2_2;
int main()
{
点1(0,0.3),q1(1,0.6),r1(2,0.9);
{
点p(0,0.3),q(1,0.6),r(2,0.9);

std::无法显示实际执行的命令行以及完整的错误消息。您可能缺少
-lmpfr-lgmp
。如果您使用它,CMake将为您处理。我直接在Qt Creator中编译,这是完整的错误消息。我添加了
-lmpfr-lgmp
,但它无法解决问题。您报告的错误是太短。请尝试找出找不到的符号。它应该是完整编译日志中的某个内容。我终于解决了这个问题,添加了
-lmpfr-lgm
,它几乎适用于所有内容,但是,当我使用
时,我遇到了相同的错误,只有当我使用此标题时……我认为我发现了问题