Linux下安装
- 在官网下载某一版本
- 解压 tar -xzvf gsl-2.5.tar.gz
- 安装
x
1
cd gsl-2.5
2
3
./autogen.sh
4
5
./configure --enable-maintainer-mode
6
7
make
8
9
make install
编写文件
example.c
xxxxxxxxxx
15
1
2
3
4
using namespace std;
5
6
int main (void)
7
{
8
double x = 5.0;
9
double y = gsl_sf_bessel_J0 (x);
10
cout.setf(ios::fixed);
11
cout << "J0(" << setprecision(1) << x << ") = " ;
12
cout.setf(ios::scientific,ios::floatfield);
13
cout << setprecision(18) << y << endl;
14
return 0;
15
}
编译
GSL头文件的默认安装位置为 /usr/local/include/gsl编译命令:
xxxxxxxxxx
1
1
g++ -Wall -I/usr/local/include -c example.c
gcc默认的include路径为 /usr/loca/include,因此 -I 命令可以省略链接
共享库libgsl.so的安装位置为 /usr/local/lib链接时需要指明主要库和一个支持库CBLAS
链接命令:
xxxxxxxxxx
1
1
g++ -L/usr/local/lib example.o -lgsl -lgslcblas -lm
gcc默认的链接路径为 /usr/local/lib,因此-L命令可以忽略。-lm 链接到系统的数学库,在一些系统中也可以忽略。
运行
在系统中要运行链接了共享库的程序必须要指定相应的.so文件。如果没有找到相应的文件运行时将会出错:
xxxxxxxxxx
5
1
$ ./a.out
2
3
./a.out: error while loading shared libraries:
4
5
libgsl.so.0: cannot open shared object file: No such file or directory
有两种方法可以避免这种错误:
(1)修改系统动态链接库参数
(2)定义shell变量 LD_LIBRARY_PATH 为库的路径。例如在bash中
xxxxxxxxxx
2
1
$ LD_LIBRARY_PATH=/usr/local/lib
2
$ export LD_LIBRARY_PATH
或者在C-shell中
xxxxxxxxxx
1
1
setenv LD_LIBRARY_PATH /usr/local/lib
输出
xxxxxxxxxx
11J0(5.0) = -1.775967713143382642e-01
AperdeYlueri Sherard Linson https://wakelet.com/wake/XSywfJ7LQT2yqGE_dbyBA
ReplyDeletelandlogavi
0perfbeltrit_yo1997 Courtney Kiana https://www.jerceramics.com/profile/wileenevalentyenclosure/profile
ReplyDeletedrilunremde
pistcesZef-to Kathy Smith click here
ReplyDeletedownload
click here
download
midpugesttur
YamnaVclavwa-1990 Byron Mancuso FixMeStick
ReplyDeleteCorelDRAW
WinZip
dragerroca