安装了两天的程序不写点什么实在是对不起自己
The following section explains how to install CGAL 3.4 with Boost 1.38 with QT4.5 on Windows XP/Vista with Visual Studio 2008/2005
Note that during the entire setup you need internet connection!
Note that the installation requires significant disk space. Make sure to free enough disk space before the installation.
Instructions on adding Enviroment Variables in Windows are at the end.
- Downloading stuff
-
- First download CGAL (3.4) windows installer from here. (it is at the bottom of the page)
- Get the latest version of CMake (currently 2.6.3) from here.
- Download the latest version of QT framework (currently 4.6.3) from here.
- Download the latest version of Boost (currently 1.42) from here
OR the automated windows installer from here (I installed it by compiling myself but other people installed it with the installer with no problems). It seems that there are some problems with version 1.42 and VC 9: https://lists-sop.inria.fr/sympa/arc/cgal-discuss/2010-02/msg00147.html
- Install CMake
-
- Use the default configuration and don't forget to add C:\Program Files\CMake
2.6\bin to the PATH (if it wasn't added for you)
- Use the default configuration and don't forget to add C:\Program Files\CMake
- Install Boost
-
-
If you downloaded the installer just install boost and continue to the next section otherwise continue to step 2. Don't forget to choose the boost_thread components for the Visual Studio version you have downloaded/installed when you use the installer.
- Create a directory c:\boost and copy boost_1_38_0.7z into it.
- Extract the Boost files to the C:\boost\boost_1_38_0 directory (right-click the file, go to 7zip and press extract here. If you don't have 7zip download and install from here)
- Don't delete
boost_1_38_0.7z file after you are done extracting!!! - open cmd (Strart->Run->cmd) and do : cd c:\boost\boost_1_38_0
- in the cmd type cmake-gui .
( <-- this dot is important!!!) - Create a new Visual Studio 2008 Generator (or the generator that fits your version of VS) by pressing Configure
- Press "Add Entry" and create a boolean item called CMAKE_IS_EXPERIMENTAL and set the value to true
- Press "configure"
- Select "Build Static" if it not yet selected (infact you should have all the BUILD_XXXXX flags set to true except from BUILD_TESTING)
- Click Configure until the Generate button becomes available
- Click Generate
- Close CMake. (here the dot is not important)
- Open the newly generated solution in the boost directory and press Build -> Clean Solution when this is done press Build -> Rebuild Solution
- Wait a long time.... If it asks you to save and restart visual studio using some sort of macro agree to it and let the macro finish.
- add C:\boost\boost_1_38_0\bin directory to the PATH
- Remeber I told you not to delete the 7zip file?
- Extract the Boost files to the C:\boost\boost_1_38_0 directory (right-click the file, go to 7zip and press extract here) tell it to overwrite all existing files. (In case you are having a de-ja-vu from step 2. You are right. For some unknown reason CMake destroys some of the files so you need to extract them all over again)
- Thats it Boost is installed.
-
- Install QT
-
- Be warned! This installation took me
5 hours to complete so you might want to start it at the evening and leave it for the night. - Run the QT installer executable (no, this is not the
5 hour part). - Yes, you might need MinGW (not the source code) so download and install that to C:\MinGW. It is easiest to install directly through the QT installer. If you run into problems (with trolltech mirror), you can download the minGW installer seperately from sourceforge.net
(currently version 5.1.4), install it, and then continue the QT installation, disregarding the warning message about version compatibility. - once the installation of QT is finished Add C:\MinGW\bin to the path (if it wasnt done for you)
- If you open the lib directory of QT you will see it is filled with a bunch of files but non of them are lib files. So now lets create the lib files.
- Open Visual Studio Command Prompt
(Start->Programs->Visual Studio->Visual Studio Tools->Visual Studio CommandPrompt) and write "cd c:\QT\4.5.0" - in the
black window write "configure" - agree to the license and wait a while (still not 7 hours but I would go eat dinner about now)
- in the cmd window write "nmake" and go to sleep. This will take about
5 hours (at least on my old slow computer) - Add C:\Qt\4.5.0\bin to the path
- Thats it QT is installed
- Restart your computer (don't forget to bookmark this page or something)
- Be warned! This installation took me
-
Install CGAL -
- Finally we install the crown jewel. Run the installer and select your compiler and all the variants, next, next.
- I sugest installing CGAL to C:\CGAL\CGAL-3.4
- Tell the setup to create all the enviroment variables and wait for the install to complete. Including the downloads at the end.
- Add the enviroment variable
QTDIR = C:\Qt\4.5.0 - Add the enviroment variable BOOST_ROOT = C:\boost\boost_1_38
- Open
the command prompt (start->run->cmd) - Type cd C:\CGAL\CGAL-3.4
- run cmake-gui . (<-- this dot is important again!)
- press configure and select your compiler
- If you have Cygwin installed (like me) the configure will fail becuase it was looking for the GMP and the MPFR code in the wrong place. Edit the GMP_INCLUDE_DIR and MPFR_INCLUDE_DIR to be C:/CGAL/CGAL-3.4/auxiliary/gmp/include
- Edit the CMAKE_BUILD_TYPE to Debug
- Select WITH_demos and WITH_examples if you wish the demos and the examples to be installed (although I don't see any reason to include those.
You can just compile what you need when you need it). - You may need to add the variable
Boost_INCLUDE_DIR (=C:/boost/boost_1_38_0), and edit the variables Boost_THREAD_LIBRARY_DEBUG (=C:/boost/boost_1_38_0/lib/libboost_thread-vc90-mt-gd-1_38.lib) and Boost_THREAD_LIBRARY_RELEASE (= C:/boost/boost_1_38_0/lib/libboost_thread-vc90-mt-1_38.lib) - Press Configure until you can press Generate and then press Generate
- A solution file will be created here : C:\CGAL\CGAL-3.4. Open it with your visual studio.
- Close CMAKE
- Press Build->Clean Solution, Press Build->Rebuild Solution. If you did everything I wrote before, including step 17 in the boost install the compile should work without problems (maybe some examples will not compile because you are missing 3rd party components but that isn't important).
- You are done! CGAL is installed.
At the end of the installation, your PATH should look something like that (this is my PATH)
: PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;c:\Program Files\Microsoft
SQL Server\90\Tools\binn\;C:\cygwin\bin;C:\cygwin\usr\bin;C:\cygwin\usr\local\b
in;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 :
- Make sure that Executable Files (Combobox at the top right)
----------------- 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();
}
我装的是CGAL3.9,用的是CMake2.8,Boost也是最新的1.47,Qt4.8.0,VS2010成功(Win7系统),这里提示几点:
注意输入lib时要分行,不然VS识别不出。
即使这样还是出错了: main.cpp
看来是少lib,解决方案:add C:\QT\4.8.0\lib\QtOpenGLd4.lib and C:\CGAL-3.9\auxiliary\gmp\lib\libgmp-10.lib to the project 参见https://lists-sop.inria.fr/sympa/arc/cgal-discuss/2012-01/msg00186.html