使用vs2013、CodeBlocks分别编译cgal

    xiaoxiao2026-05-10  2

    vs2013编译cgal 1.安装boost1.5.4;安装cgal4.4;安装cmake2.8.8。 2.编译boost: 2.1执行bootstrap.bat,准备。 2.2执行b2编译。 3.编译cgal: 3.1用cmake准备vs2013的工程文件,参看网上资料,配置了boost_include_dir和boost_library_dir。 3.2用vs2013打开工程文件编译。 4.测试编译的cgal: 4.1用vs2013创建vc console程序,使用cgal手册的第一个例子代码; 4.2需要配置cgal的include和lib目录,配置boost的include和lib目录,配置cgal中的gmp的include和lib目录; 4.3提示缺少的compiler_config.h文件,从build的include复制到cgal的include目录; 4.4link需要的cgal和boost的lib只需要指定路径就可以了,而gmp的需要指定lib的名字作为输入,否则会提示gmp链接错误。 --基本上就是这些,更详细的过程参照网上资料。 CodeBlocks编译cgal 1.安装boost1.5.4;安装cgal4.4;安装cmake2.8.8;安装codeblocks13,带mingw4.8. 2.编译boost: 2.1执行bootstrap.bat gcc   2.2执行b2 --toolset=gcc --prefix=c:\apps\boost_gcc install 3.编译cgal: 3.1用cmake准备codeblocks的makefile,配置了boost_include_dir和boost_library_dir。

    3.2用codeblocks打开工程文件编译。 

    *4.codeblocks测试编译的cgal: 4.1创建console程序,使用cgal手册的第一个例子代码; 4.2需要配置cgal的include和lib目录,配置boost的include和lib目录,配置cgal中的gmp的include和lib目录; -include配置在:project build option=search directories=compiler -lib配置在:project build option=search directories=link -作为输入的xlib文件名指定位置在:project build option=linker settings,用add命令增加

    4.3执行时候需要cgal和gmp的dll。

    5.用qt creator=mingw进行cgal测试: 5.1创建UI程序,调用cgal代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" #include <iostream> #include <CGAL/Exact_predicates_inexact_constructions_kernel.h> #include <CGAL/convex_hull_2.h> typedef CGAL::Exact_predicates_inexact_constructions_kernel K; typedef K::Point_2 Point_2; MainWindow::MainWindow(QWidget *parent) :     QMainWindow(parent),     ui(new Ui::MainWindow) {     ui->setupUi(this); } MainWindow::~MainWindow() {     delete ui; } void MainWindow::on_pushButton_released() {     Point_2 points[5] = { Point_2(0,0), Point_2(10,0), Point_2(10,10),     Point_2(6,5), Point_2(4,1) };     Point_2 result[5];     Point_2  *ptr = CGAL::convex_hull_2( points, points+5, result );     //std::cout << ptr - result << " points on the convex hull" <<std::endl;     QString str;     char szVal[10]={0};     itoa(ptr-result,szVal,10);     str=szVal;     ui->lineEdit->setText(str+" points on the convex hull"); } 5.2修改pro文件,配置include和lib,代码如下: #------------------------------------------------- # # Project created by QtCreator 2014-04-30T22:33:42 # #------------------------------------------------- QT       += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = cgal3_qt TEMPLATE = app SOURCES += main.cpp\         mainwindow.cpp HEADERS  += mainwindow.h FORMS    += mainwindow.ui INCLUDEPATH += C:\apps\CGAL-4.4\include \   C:\apps\CGAL-4.4\auxiliary\gmp\include \   C:\apps\boost_gcc\include\boost-1_54 \ LIBS += C:\apps\CGAL-4.4\build_gcc\lib\libCGAL.dll.a \   C:\apps\CGAL-4.4\build_gcc\lib\libCGAL_Core.dll.a  \   C:\apps\CGAL-4.4\build_gcc\lib\libCGAL_ImageIO.dll.a \   C:\apps\CGAL-4.4\auxiliary\gmp\lib\libgmp-10.lib \   C:\apps\CGAL-4.4\auxiliary\gmp\lib\libmpfr-4.lib \ 5.3执行的时候需要cgal和gmp的dll。
    转载请注明原文地址: https://ju.6miu.com/read-1309542.html
    最新回复(0)