下决心把CGAL学好, 专注于一件事情!不要把精力浪费在无关紧要的事情上。 目的是为了安装CGAL, 其它的辅助软件包和工具尽量用最便利的方式安装,不要像以前那样啦!
1, 首先安装Boost,下载最新的boost ,解压到某个目录,比如说: ~/boost1_42_0/
sudo ./bjam --layout=tagged --build-type=complete stage
sudo cp -a ~/boost1_42_0/boost /usr/include
sudo cp ~/boost1_42_0/stage/lib/* /usr/lib/上面的安装还不是很清楚明了,换成下面:
首先要编译生成boost安装工具bjam
进入boost目录执行:
./bootstrap.sh
然后执行刚生成的
./bjam
编译开始,大约半小时,全部编译结束。
./bjam install 将当前目录下编译好的头文件拷贝到相应位置:在/usr/include下有头文件夹boost,在/usr/lib下有boost的库
2, 安装MPFR、GMP、geomview(可视化)和 libQGLViewer
sudo apt-get install libgmp3-dev libmpfr-dev
sudo apt-get install geomview 下载
libqglviewer-devel_2.3.5_i386.deb(头文件及文档)和
libqglviewer_2.3.5_i386.deb(库文件),鼠标点击安装即可。 这时要重新做一个库文件的符号链接,
cd /usr/lib/
ln -sf libQGLViewer.so.2.3.4 libqglviewer.so3, 安装qt3, qt4
sudo apt-get install libqt4-dev
sudo apt-get install libqt3-disigner4, 下载最新的
CGAL -3.6.1, 它要要求boost要1.34.1以上。
cmake-gui .
make
sudo make install默认头文件装在 usr/local/include/, 库文件装在 usr/local/lib/. 实际上你可以在cmake-gui . 时进行修改, 可以把头文件和库文件分别装到 usr/include 和 usr/lib 下, 这样你写的程序可以在编译链接时,可以自动找到这些文件。
5, 总结
软件包的基本结构和安装路径:安装的软件包, 一般有四部分组成: 头文件, 库文件, 可执行程序,文档。 一般情况下,它们放的位置如下:
/usr/include, /usr/lib, /usr/bin, /usr/share/doc/。 在软件包安装时,一般会自动安装到这些文件夹当中; 但有时候也需要用户自己把头文件、库文件等拷贝到相应的目录下, 或者做一个符号链接也可以。
ln -sf 被链接的目录或文件 链接目录或文件
-s: 符号链接
-f: 硬链接
当然有时会把 软件包放在 /usr/local/ 下(其目录结构和/usr/基本相同), 但要注意
记得将 /usr/local/lib 加入到缺省的共享库搜索路径中,就是在文件 /etc/ld.so.conf 中加入一行:
/usr/local/lib
然后运行
/sbin/ldconfig
软件包安装后的常见问题及解决办法: 1, 软件包已经安装,但仍提示找不到库文件。
原因一般有二。 第一, 软件包没有安装在缺省的共享库
搜索路径中,系统不能自动找到它。 你可以通过添加缺省搜索路径的办法解决, 也可以通过拷贝,链接 把文件放到系统能够自动找到的地方。 第二, 安装的库文件的名字和你需要的名字不同, 可能是大小写,也可能是因为有额外的版本号, 这时你只需要再做一个新的库文件的符号链接, 链接的名字和你需要的相同即可。
ln -sf 2,如何尽量快速的软件安装。
首选是在ubuntu的软件库中找,找到后用 sudo apt-get install 进行安装。 比如:
apt-cache search emacs 就搜索了所有含有关键词emacs的软件名称。一大堆。如果要分屏,用
apt-cache search emacs|less 或者用grep更精确地定位 比如
apt-cache search emacs|grep emacs22 当然你也可以通过google, Baidu等来确定你相要的软件包在软件库中的具体名字。
另一个选择是通过google, baidu搜索 deb包, 然后下载下来进行安装。
最后的选择才是通过软件包的网站,下载源码进行编译安装, 安装之前要仔细阅读安装说明, 一般以INSTALL, README等命名的文本文件。 这是最verbose的安装过程, 你总会遇到一些意外的问题。
https://m.sciencenet.cn/blog-284809-358873.html
上一篇:
Trait Class下一篇:
46, 3D Surface Mesh Generation on CGAL