通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  下士

注册:2010-2-26
跳转到指定楼层
1#
发表于 2010-4-1 22:44:02 |只看该作者 |倒序浏览
最近恰逢大project开始,而且以前的那个版本的系统崩溃了,于是重装了9。10的系统,用起来确实要好的多,下面说说自己是怎么在这个系统上成功安装IT++库的。

如果你不熟悉什么是IT++,请参考他的主页:http://itpp.sourceforge.net/current/index.html
本人也是主要从这个网站上获得安装信息,然后一步一步调试过来的,回首过来其实感觉很简单,主要是自己走了弯路了。

第一步,要安装BLAS,LAPACK,FFTW库。
首先安装FFTW,因为他最简单,直接在terminal输入命令:sudo synaptic,或者直接打开新立得软件包管理器,安装libfftw-dev这个程序包。安装成功后,FFTW库就算完成了,相当简单。
其次安装LAPACK,这个算是最难的了,因为通过修改Makefile可以直接一起安装BLAS。在他的主页上先下载压缩的安装文件,我下载的是LAPACK version 3.2.1,找到安装信息http://www.netlib.org/lapack/lawn81/index.html,最主要的是如何修改make.inc,在网上google了很多信息,并试了很多次,终于搞定。不过可能只适合我自己的电脑,其他人可能要按照自己实际情况具体操作,具体操作如下:
   先将下载的文件解压缩。
   cd /文件存放地址/lapack-3.2.1
   cp make.inc.example make.inc
   gedit make.inc
   红色部分为修改部分  ............                                                                     
                                     FORTRAN  = gfortran -fimplicit-none -g
                                     OPTS     = -O3
                                     DRVOPTS  = $(OPTS)
                                     NOOPT    =
                                     LOADER   = gfortran -g
                                     LOADOPTS =
                                       ..............
   执行上一步的时候请确定你安装了Fortran的Compilier,如果没有,sudo apt-get install gfortransudo apt-get install libblas-dev
   ../configure -C gcc -t-1 -b 64 如果你的系统是32位的,把最后一个数字64改为32。
   make
   sudo make install
   sudo ldconfig
   成功的话将生成的三个文件:blas_LINUX.a, lapack_LINUX.a 和tmglb_LINUX.a复制到/usr/lib和/usr/local/lib两个目录下,并改名为:libblas.a,liblapack.a 和libtmglb.a

第二步,安装IT++
具体安装过程也可以参考http://itpp.sourceforge.net/current/installation.html
在http://sourceforge.net/apps/wordpress/itpp/下载最新版本的IT++,我用的是version 4.0.7
解压缩以后,将路径改到该文件下: cd /文件安装地址/itpp-4.0.7
./configure
make
sudo make install
在configure语句后有具体信息可以检查一下你的BLAS,LAPACK,FFTW库是不是都安装成功了。
make check
若都能通过则安装成功。

第三步,使用g++来编译实例,验证是否安装成功。

cd
gedit .bashrc
在文件开头处加入:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
使用这个example:http://itpp.sourceforge.net/current/vector_and_matrix.html,若将文件保存为:simple_itpp.cpp
g++ -o example simple_itpp.cpp -litpp
./example
若运行正常,可以得到如下结果:
a = [1 1.11111 1.22222 1.33333 1.44444 1.55556 1.66667 1.77778 1.88889 2]
b = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]
c = [1.1 1.31111 1.52222 1.73333 1.94444 2.15556 2.36667 2.57778 2.78889 3]
A = [[1 2]
[3 4]]
B = [[-2 1]
[1.5 -0.5]]

举报本楼

本帖有 3 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-19 16:46 , Processed in 0.147806 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部