安装cgal_cgi3.2

安装cgal_cgi3.2在VisualStudio2008中安装CGAl(注意:整个安装过程需要网络连接,最后指示如何在windows中增加环境变量)1、下载需要的安装文件1)、首先下载CGAL(3.4)的安装程序,从http://gforge.inria.fr/frs/?group_id=52(在页面的最下面)2)、获得最新版本的CMake(目前是2.6.3),从http://www.cmake.or

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在Visual Studio2008中安装CGAl

(注意:整个安装过程需要网络连接,最后指示如何在windows中增加环境变量)

1、下载需要的安装文件

1)、首先下载CGAL(3.4)的安装程序,从http://gforge.inria.fr/frs/?group_id=52(在页面的最下面)

2)、获得最新版本的CMake(目前是2.6.3),从http://www.cmake.org/cmake/resources/software.html

3)、获得最新版本的QT(目前是4.5),从http://www.qtsoftware.com/downloads/windows-cpp

4)、获得最新版本的boost(目前是1.38)从http://www.boost.org/users/download/

或者是从http://www.boostpro.com/download 这里下载window的安装程序

2、安装CMake

使用默认的编译器并且不要忘记,将X:/Program Files/CMake 2.6/bin 增加到环境变量当中。

3、安装boost

1)、如果你下载的是安装程序则直接选择下一步,装时要勾上Boost.Thread和Boost.Program_options.否则请看步骤2.

2)、新建目录c:/boost并把boost_1_38_0.7z拷贝到它里。

3)、将boost_1_38_0.7z解压到C:/boost/boost _1_38_0目录(用鼠标右键单击文件,用7zip解压。 如果您没有7zip,则从这里http://www.7-zip.org/下载并且安装)

4)、在完全解压完之前不要删除boost_1_38_0.7z

5)、打开CMD(strart->Run->cmd)然后输入 cd c:/boost/boost_1_38_0

6)、在cmd中键入 cmake-gui(这步非常重要)

7)、点击Configure选择Visual Studio2008的编译器

8)、点击“Add Entry”,新建一个boolean变量,叫做CMAKE_IS_EXPERIMENTAL,将其值设置为真

9)、点击“configure”

10)、在红色的变量中“Build Static”没有选中的话请将其选(事实上,除了BUILD_TESTING,你应该将所有的BUILD_XXXX变量设置为ture)

11)、点击Configure直到Generate按钮变为可操作的。

12)、点击Generate

13)、关闭CMake。(这一步并不是很重要)

14)、在boost路径中找到新建的解决方案Boost.sln。然后点击Build->Clean Solution,结束后点击Build->Rebuild Solution

15)、等待较长的时间……如果它提示保存及重启Visual Studio,然后尽量让大部分结束后再重启

16)、将 C:/boost/boost_1_38_0/bin添加到环境变量中去

17)、注意,不要删除7zip文件。

18)、将boost文件解压到C:/boost/boost_1_38_0中(右键,用7zip解压)选择覆盖已有文件。

19)、boost安装成功

4、安装QT

1)、注意:安装这部分花费了我5个小时,因此,你完全可以晚上开始安装。

2)、运行QT的安装程序(这是在5个小时之外的)

3)、你或许需要minGW(不是源码),因此,下载它并且把它安装到C:/MinGW。当然,直接通过QT的安装程序安装是最简单的了。如果您遇到问题(trolltech镜像),可以单独在sourceforge.net上下载minGW安装程序(最新版5.1.4),安装它,然后继续安装QT,忽视关于版本兼容性的报警信息

4)、一旦QT安装完成,将C:/MinGW/bin添加到环境变量中

5)、如果你打开QT的lib路径,你会发现这里很多文件却都不是lib文件。现在要生成lib文件。

6)、打开Visual Studio的命令提示窗口(Start->Programs->Visual Studio->Visual Studio Tools->Visual Studio CommandPrompt)然后写cd c:/QT/4.5.0

7)、在黑色窗口中写“configure”,即运行文件夹里的configure.exe程序

8)、同意license,等待一会

9)、在cmd窗口中写“nmake”,大概等待5个小时

10)、将路径 C:/Qt/4.5.0/bin添加到环境变量中

11)、QT安装完成

12)、重启电脑

5、安装CGAL

1)、最终的时候安装CGAL,运行安装程序,选择你的编译器及所有的Variants,下一步,下一步

2)、我建议安装在 C:/CGAL/CGAL-3.4

3)、选中所有的环境变量,等待完成,包括最后的下载

4)、增加环境变量QTDIR = C:/Qt/4.5.0

5)、增加环境变量BOOST_ROOT = C:/boost/boost_1_38

6)、打开命令行窗口(start->run->cmd)

7)、键入cd C:/CGAL/CGAL-3.4

8)、运行cmake-gui(很重要)

9)、选择你的编译器并点击configure

10)、如果你安装了Cygwin,configure将失败,编辑GMP_INCLUDE_DIR和MPFR_INCLUDE_DIR为C:/CGAL/CGAL-3.4/auxiliary/gmp/include

11)、编辑CMAKE_BUILD_TYPE为Debug

12)、如果你希望安装演示实例,请选择WITH_demos与WITH_examples(其实没有必要安装,可以用的时候再编译)

13)、你需要增加变量Boost_INCLUDE_DIR (=C:/boost/boost_1_38_0), 并且编辑变量Boost_THREAD_LIBRARY_DEBUG (=C:/boost/boost_1_38_0/lib/libboost_thread-vc90-mt-gd-1_38.lib) 以及变量Boost_THREAD_LIBRARY_RELEASE (= C:/boost/boost_1_38_0/lib/libboost_thread-vc90-mt-1_38.lib)

14)、点击Configure,知道Generate能够操作之后,点击Generate

15)、在C:/CGAL/CGAL-3.4中将会产生一个解决方法,用Visual Studio打开

16)、关闭CMAKE

17)、选择 Build->Clean Solution,选择 Build->Rebuild Solution。安装完成。

18)、此时,你的PATH应该是这样的:PATH=C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Program Files/ATITechnologies/ATI.ACE/Core-Static;c:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/cygwin/bin;C:/cygwin/usr/bin;C:/cygwin/usr/local/bin;C:/cygwin/usr/X11R6/bin;C:/gs/gs8.63/bin;C:/gs/gs8.63/lib;C:/boost/boost_1_38

_0/bin;C:/cygwin/usr/include;C:/MinGW/bin;C:/Qt/4.5.0/bin;C:/Program Files/CMake 2.6/bin;C:/CGAL/CGAL-3.4/auxiliary/gmp/lib

Creating a Visual Studio Project that uses CGAL and QT

Now that you have installed CGAL you need to configure your visual studio to work with it.

Open an empty C++ project using the Win32 Console Application wizard (select empty project and click finish) File->New->Project … Other Languages -> C++ -> Win32 -> Win32 Console Application

When the solution loads up go to Tools->Options … Projects and Solutions -> VC++ Directories

Make sure that Executable Files (Combobox at the top right) contains the $(PATH) variable (at the end there)

Select Include Files in the combobox and add :

C:/CGAL/CGAL-3.4/auxiliary/gmp/include

C:/Qt/4.5.0/include

C:/boost/boost_1_38_0

C:/CGAL/CGAL-3.4/include

They should appear at that order at the topmost part of the list (use the arrows to move items up and down)

Select Library Files from the combobox and add :

C:/CGAL/CGAL-3.4/auxiliary/gmp/lib

C:/CGAL/CGAL-3.4/lib

C:/boost/boost_1_38_0/lib

C:/Qt/4.5.0/lib

Press OK until you are back at the main window

Right click your project and select Properties

Go to Configuration Properties -> C/C++ -> General. In there you will see Additional Include Directories. Copy this line there :”C:/Qt/4.5.0/include/QtCore”,”C:/Qt/4.5.0/include/QtCore”,”C:/Qt/4.5.0/include/QtGui”,”C:/Qt/4.5.0/include/QtGui”,”C:/Qt/4.5.0/include”,”C:/Qt/4.5.0/include/ActiveQt”,”debug”,”.”,C:/Qt/4.5.0/mkspecs/win32-msvc2005

QT has a bunch of directories in their include so you need to add each directory individualy. The ones I write there should be enough for a beginner

Go to Configuration Properties -> Linker -> Input and copy the following line to the Additional Dependancies line : C:/Qt/4.5.0/lib/qtmaind.lib C:/Qt/4.5.0/lib/QtGuid4.lib C:/Qt/4.5.0/lib/QtCored4.lib

You will generaly need some of the libs as dependant files. The ones I gave above should be enoguh for a beginner program.

Thats it, you can write your code and compile it here is an example of a main.cpp that should compile now :

—————– CUT HERE ——————

#include <iostream>

#include <boost/format.hpp>

#include <QtGui>

#include <CGAL/Qt/GraphicsViewNavigation.h>

#include <QLineF>

#include <QRectF>

int main(int argc, char **argv)

{

QApplication app(argc, argv);

QGraphicsScene scene;

scene.setSceneRect(0,0, 100, 100);

scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));

scene.addLine(QLineF(0,0, 100, 100));

scene.addLine(QLineF(0,100, 100, 0));

QGraphicsView* view = new QGraphicsView(&scene);

CGAL::Qt::GraphicsViewNavigation navigation;

view->installEventFilter(&navigation);

view->viewport()->installEventFilter(&navigation);

view->setRenderHint(QPainter::Antialiasing);

view->show();

return app.exec();

}

—————– CUT HERE ——————-

Good Luck and feel free to ask us questions.

Setting up PATH variable or other Enviroment variables on windows systems

From the desktop, right-click My Computer and click properties.

(on Vista click Advanced system settings on the left side)

In the System Properties window, click on the Advanced tab.

In the Advanced section, click the Environment Variables button.

Finally, in the Environment Variables window, highlight the path variable in the Systems Variable section and click edit. Add or modify the path lines with the paths you wish the computer to access. Each different directory is separated with a semicolon as shown below.

C:/Program Files;C:/Winnt;C:/Winnt/System32

转自:
http://blog.csdn.net/scarletty/article/details/4212703

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234071.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月12日 上午10:01
下一篇 2025年6月12日 上午10:43


相关推荐

  • JAVA基础知识之BufferedWriter流

    JAVA基础知识之BufferedWriter流一、BufferedWriter流    API文档说明:  1)将文本写入字符输出流,缓冲字符,以便有效地写入单个字符,数组和字符串?   说明存在用单个字符、数组、字符串作为参数的方法写入数据    2)可以指定缓冲区大小,或者可以接受默认大小。对于大多数用途,默认值足够大?   说明该类存在一个常量值用作默认缓冲区大小同时也可以通过构造函数指定大小    3)…

    2022年6月10日
    44
  • java浅拷贝和深拷贝的区别_python的浅拷贝和深拷贝

    java浅拷贝和深拷贝的区别_python的浅拷贝和深拷贝Java中的对象拷贝(ObjectCopy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a;B.b=A.b;在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用现有对象的部分或全部数据。Java中的对象拷贝主要分为:浅拷贝(ShallowCopy)、深拷贝(DeepCopy)。先介绍一点铺垫知识:Java中的数据类型分为基本数据类型和.

    2026年4月15日
    7
  • android线程间通信的几种方法_Android进程间和线程间通信方式

    android线程间通信的几种方法_Android进程间和线程间通信方式进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一些在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。区别:(1)、一个程序至少有一个进程,一个进…

    2026年4月17日
    6
  • 怎么从安卓设备转移数据到苹果_如何将数据从安卓手机转移到苹果手机[通俗易懂]

    怎么从安卓设备转移数据到苹果_如何将数据从安卓手机转移到苹果手机[通俗易懂]手机人手一部,更新也特别快,换系统的同时也想保留之前的数据怎么办?如何将数据从安卓手机转移到苹果手机?android手机数据转移到iPhone手机的方法教程在这里为你准备,第一次使用苹果的用户怎样才能将原有android数据迁移到苹果呢?来看如下具体内容!我们都知道在大屏iPhone6和iPhone6Plus智能手机即将上市的前夕,苹果公司发布了一份详细的支持文件,指导Android用户如何…

    2026年1月19日
    4
  • 7道常见的数据分析面试题[通俗易懂]

    7道常见的数据分析面试题[通俗易懂]InfoQ内容来自极客时间《数据分析实战45讲》数据分析师近几年在国内互联网圈越来越火,很多开发都因为薪资和发展前景,希望转行到数据分析岗。今天,我们就来聊聊面试数据分析师的那些事。其实,数据分析能力是每个互联网人的必备技能,哪怕你没有转行数据分析师的计划,也推荐你看看这个专题,提升你的数据能力。数据分析的能力要求与数据分析相关的工作有一个特质,就是对数字非常敏感,同时也要求对数据具…

    2022年5月27日
    40
  • 导数,偏导数,方向导数与梯度的定义与联系

    导数,偏导数,方向导数与梯度的定义与联系参考博客 https blog csdn net baishuo8 article details 和知乎 https www zhihu com question 一 导数 derivative 导数 是我们最早接触的一元函数中定义的 可以在 xy 平面直角坐标系中方便的观察 当 x 0 时 P0 处的导数就是因变量 y 在 x0 处的变化率 反映因变量

    2026年1月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号