在linux下搭建OpenCASCADE开发环境(freetype,freeimage,ftgl,qt...)

在linux下编译OpenCASCADE软件过程详解。


1,在主目录下新建文件夹OCC_LINUX,下载好所有软件,放在OCC_LINUX(/home/hs/OCC_LINUX文件夹中).软件如下:
OpenCASCADE653.tar.gz
下载链接: http://www.opencascade.org/getocc/download/occarchives/loadocc653/
freetype-2.3.7
下载链接: http://download.csdn.net/detail/coutsomebody/5193057
freeimage-3.14.1
下载链接: http://download.csdn.net/detail/coutsomebody/5193051
tbb30_018oss_src.tgz
下载链接: http://download.csdn.net/detail/coutsomebody/5193089
ftgl-2.1.2
下载链接: http://download.csdn.net/detail/coutsomebody/5193065
gl2ps-1.3.5
下载链接: http://download.csdn.net/detail/coutsomebody/5193080
ActiveTcl8.5.13.0.296436-linux-ix86-threaded.tar.gz
下载链接: http://www.opencascade.org/getocc/require/
qt-everywhere-opensource-src-4.6.2.tar.gz 
下载链接: ftp://ftp.qt-project.org/qt/source/
wokSetup6.6.0_alpha1.tgz
下载链接: http://download.csdn.net/detail/coutsomebody/5193108






2,在主目录下建立文件夹OpenCASCADE,即在/home/hs下运行 mkdir OpenCASCADE;进入OCC_LINUX目录,解压OpenCASCADE653.tar.gz 到 OpenCASCADE下


hs@debian:~/OCC_LINUX$ tar -zxvf OpenCASCADE653.tar.gz -C /home/hs/OpenCASCADE




3.在OpenCASCADE下建立文件夹3rdparty,occt-6.5.3(这个文件夹最后运行configure的时候用)


hs@debian:~/OpenCASCADE$ mkdir 3rdparty
hs@debian:~/OpenCASCADE$ mkdir occt-6.5.3




4.进入/home/hs/OCC_LINUX目录,将已经编译好的freetype-2.3.7,freeimage-3.14.1,ftgl-2.1.2,gl2ps-1.3.5复制到/home/hs/OpenCASCADE/3rdparty


hs@debian:~/OCC_LINUX$ cp -r freetype-2.3.7 /home/hs/OpenCASCADE/3rdparty
hs@debian:~/OCC_LINUX$ cp -r freeimage-3.14.1 /home/hs/OpenCASCADE/3rdparty
hs@debian:~/OCC_LINUX$ cp -r ftgl-2.1.2 /home/hs/OpenCASCADE/3rdparty
hs@debian:~/OCC_LINUX$ cp -r gl2ps-1.3.5 /home/hs/OpenCASCADE/3rdparty




5.在/home/hs/OpenCASCADE/3rdparty下建立文件夹tcl-8.5.13, 进入/home/hs/OCC_LINUX目录,解压ActiveTcl8.5.13.0.296436-linux-ix86-threaded.tar.gz到当前文件夹。命令如下:


hs@debian:~/OCC_LINUX$ tar -zxvf ActiveTcl8.5.13.0.296436-linux-ix86-threaded.tar.gz -C ./


这时候当前目录有一个ActiveTcl8.5.13.296436-linux-ix86-thread的文件夹,进入这个文件夹运行install.sh 


hs@debian:~/OCC_LINUX/ActiveTcl8.5.13.296436-linux-ix86-threaded$ ./install.sh 接下来进入安装页面,直接点next和accpet,直到选择安装路径的步骤,在这里选择/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13,点击ok.然后一直next.直到安装完成。
(如果出现错误,在ubuntu下有可能会遇到,比如缺少libxss.so.1这个库,这时候需要apt-get install libxss1,然后再运行./install.sh)


6.在/home/hs/OpenCASCADE/3rdparty下建立文件夹tbb30_018oss,接下来进入/home/hs/OCC_LINUX文件夹,将tbb30_018oss_src.tgz解压到当前文件夹


hs@debian:~/OCC_LINUX$ tar -zxvf tbb30_018oss_src.tgz -C ./ 
这时候在本目录下会出现文件夹tbb30_018oss,进入此目录,将目录中的所有东西移动到 /home/hs/OpenCASCADE/3rdparty/tbb30_018oss


hs@debian:~/OCC_LINUX/tbb30_018oss$ mv * /home/hs/OpenCASCADE/3rdparty/tbb30_018oss/


hs@debian:~/OCC_LINUX/tbb30_018oss$ cd /home/hs/OpenCASCADE/3rdparty/tbb30_018oss/
hs@debian:~/OpenCASCADE/3rdparty/tbb30_018oss$ make    进入OpenCASCADE下的tbb30_018oss,运行make.


到此时,已经将所有第三方软件配置完成。




7.
hs@debian:~/OpenCASCADE$ mkdir qt-4.6.2 在OpenCASCADE目录下建立qt-4.6.2文件夹
进入OCC_LINUX目录,解压Qt
hs@debian:~/OCC_LINUX$ tar -zxvf qt-everywhere-opensource-src-4.6.2.tar.gz -C ./  此时在本目录中生成一个qt-everywhere-opensource-src-4.6.2文件夹,进入这个目录,运行命令:
hs@debian:~/OCC_LINUX/qt-everywhere-opensource-src-4.6.2$ ./configure -prefix /home/hs/OpenCASCADE/qt-4.6.2      
接下来选择 o    再选择yes 经过configure过后,一般都会出现错误,这时候,将you may need....的前一句话复制到google中,查询,找到所缺的库(debian 就是apt-get install libX11-dev libXext-dev libXtst-dev  ubuntu就是 apt-get install libx11* libxext-dev),安装完过后在运行
./configure -prefix /home/hs/OpenCASCADE/qt-4.6.2   再选o yes.


8. 上一步成功configure过后,在当前目录下生成了Makefile文件,运行make,命令如下:
hs@debian:~/OCC_LINUX/qt-everywhere-opensource-src-4.6.2$ make


make完成过后执行  make install命令如下:
hs@debian:~/OCC_LINUX/qt-everywhere-opensource-src-4.6.2$ make install


9.进入OCC_LINUX,解压wokSetup6.6.0_alpha1.tgz到当前文件夹


hs@debian:~/OCC_LINUX$ tar -zxvf wokSetup6.6.0_alpha1.tgz
进入site文件夹。


./wok_configure.sh
 
弹出一个配置页面,将上面的freetype,freeimage,fgtl,QT,都选中(假如你的电脑安装了JDK,那就把JDK选中,假如没有安装的话就不选)。
第一行选择目录到/home/hs/OpenCASCADE/3rdparty
然后就会出现红色的.h文件,红色代表没能找到的意思,你只需要根据安装三方软件的目录选择就行了,最终.h都能找到。
选择完各个include,lib路径过后,会出现一个libXmu.so的库,这时候需要进入/usr/lib. 运行find ./ -name "libX*" 
查找到一个libXmu.so.6的库 ,运行ln -s libXmu.so.6 libXmu.so(建立软连接),然后再在lib库中添加/usr/lib


./wok_init.sh
这时候会出现缺少cshell的错误。所以需要安装cshell,命令如下:
 sudo apt-get install csh
再次运行./wok_init.sh,这时候会出现缺少libstdc++so.5的错误,这时候需要安装libstdc++5库,命令如下:
 sudo apt-get install libstdc++5


再次运行./wok_init.sh,现在就可以成功运行了。


./wok_tclsh.sh 进入:LOC:dev>环境,现在执行三个cshell语句。


:LOC:dev>   wcreate ros -DHome=/home/hs/OpenCASCADE/ros
:LOC:dev>   wokcd ros
:LOC:dev:ros>   wgenproj




10.
待上步的wgenproj运行完,另外打开一个终端,
进入ros文件夹,运行./build_configure命令如下:


hs@debian:~/OpenCASCADE/ros$ ./build_configure


这时候会出现缺少aclocal工具,这时候需要安装该工具,命令如下
hs@debian:~/OpenCASCADE/ros$ sudo apt-get install automake


再运行./build_configure
又会出现缺少libtoolize的错误,
接下来需要运行 sudo apt-get install libtool
在运行./build_configure ,这时应该就能顺利configure了。


运行最长的./configure文件。(将这个脚本里的hs改为自己对应的用户名)
hs@debian:~/OpenCASCADE/ros$ ./configure --prefix=/home/hs/OpenCASCADE/occt-6.5.3 --with-tcl=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-tk=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-freetype=/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7 --with-ftgl=/home/hs/OpenCASCADE/3rdparty/ftgl-2.1.2 --with-gl2ps=/home/hs/OpenCASCADE/3rdparty/gl2ps-1.3.5 
--with-freeimage=/home/hs/OpenCASCADE/3rdparty/freeimage-3.14.1 --with-tbb-include=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/include --with-tbb-library=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/build/linux_ia32_gcc_cc4.4.5_libc2.11.3_kernel2.6.32_release --with-qt=/home/hs/OpenCASCADE/qt-4.6.2


运行过后如果出现
freetype  --with-freetype=DIR option was not defined
frgl ftgl not found
gl2ps OpenGL not found
等错误,那是因为libXmu*库之间存在一些依赖关系以及缺少opengl,需要完整安装libXmu*库和opengl,命令如下:
sudo apt-get install libXmu*
sudo apt-get install opengl*
等安装完过后,重新运行
hs@debian:~/OpenCASCADE/ros$ ./configure --prefix=/home/hs/OpenCASCADE/occt-6.5.3 --with-tcl=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-tk=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-freetype=/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7 --with-ftgl=/home/hs/OpenCASCADE/3rdparty/ftgl-2.1.2 --with-gl2ps=/home/hs/OpenCASCADE/3rdparty/gl2ps-1.3.5 
--with-freeimage=/home/hs/OpenCASCADE/3rdparty/freeimage-3.14.1 --with-tbb-include=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/include --with-tbb-library=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/build/linux_ia32_gcc_cc4.4.5_libc2.11.3_kernel2.6.32_release --with-qt=/home/hs/OpenCASCADE/qt-4.6.2


ok,configure通过。


11. configure通过过后,在当前目录就生成了Makefile文件,这是需要运行make,命令如下:


hs@debian:~/OpenCASCADE/ros$ make


出现错误,
/bin/sed: can't read /home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib/libfreetype.la: No such file or directory
libtool: link: `/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib/libfreetype.la' is not a valid libtool archive
这是由于直接拷贝的我的库,所以路径不正确,所以需要修改一下freetype,ftgl这两个第三方软件中的某些配置。
具体修改步骤如下:
进入/home/hs/OpenCASCADE/3rdparty目录,进行递归查找带有关键字/home/hs/OpenCASCAD的文件,命令如下:


hs@debian:~/OpenCASCADE/3rdparty$ grep "/home/hs/OpenCASCAD" ./ -r
回车过后会罗列出所有有/home/hs/OpenCASCADE的文件,结果如下:


./ftgl-2.1.2/lib/pkgconfig/ftgl.pc:Cflags: -I${includedir} -I/usr/include -I/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/include/freetype2 -I/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/include
./freetype-2.3.7/lib/libfreetype.la:libdir='/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib'
./freetype-2.3.7/lib/pkgconfig/freetype2.pc:prefix=/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7
./freetype-2.3.7/bin/freetype-config:prefix=/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7
./free 
./ftgl-2.1.2/lib/libftgl.la:dependency_libs=' -L/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib /home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib/libfreetype.la -lz -lGLU -L/usr/lib -lGL'
./ftgl-2.1.2/lib/libftgl.la:libdir='/home/hs/OpenCASCADE/3rdparty/ftgl-2.1.2/lib'
./ftgl-2.1.2/lib/pkgconfig/ftgl.pc:prefix=/home/hs/OpenCASCADE/3rdparty/ftgl-2.1.2
./ftgl-2.1.2/lib/pkgconfig/ftgl.pc:Libs: -lGLU -L/usr/lib -lGL -L/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7/lib -lfreetype -lz -L${libd 


接下来就是逐个文件的修改,用vim指令。将所有的hs 均改为 你自己的username.


12.
回到 ros目录,执行下列四个命令:
hs@debian:~/OpenCASCADE/ros$ make clean


hs@debian:~/OpenCASCADE/ros$ ./configure --prefix=/home/hs/OpenCASCADE/occt-6.5.3 --with-tcl=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-tk=/home/hs/OpenCASCADE/3rdparty/tcl-8.5.13/lib --with-freetype=/home/hs/OpenCASCADE/3rdparty/freetype-2.3.7 --with-ftgl=/home/hs/OpenCASCADE/3rdparty/ftgl-2.1.2 --with-gl2ps=/home/hs/OpenCASCADE/3rdparty/gl2ps-1.3.5 
--with-freeimage=/home/hs/OpenCASCADE/3rdparty/freeimage-3.14.1 --with-tbb-include=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/include --with-tbb-library=/home/hs/OpenCASCADE/3rdparty/tbb30_018oss/build/linux_ia32_gcc_cc4.4.5_libc2.11.3_kernel2.6.32_release --with-qt=/home/hs/OpenCASCADE/qt-4.6.2


hs@debian:~/OpenCASCADE/ros$ make


hs@debian:~/OpenCASCADE/ros$ make install






上面make install成功,这时候在/home/hs/OpenCASCADE/occt-6.5.3中会出现一些文件,包括custom.sh draw.sh  env.sh等文件。这时候运行draw.sh就可以画图了。

























评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值