一、参考连接
二、下载GSL库
下载连接GSL - GNU Scientific Library - GNU Project - Free Software Foundation
三、安装
1、将下载好的压缩包放到Ubuntu中并解压
tar -vxf gsl-latest.tar.gz
2、进入解压好的文件夹中
cd gsl-2.7.1/
3、设置环境变量
export CFLAGS=-fPIC
一开始没有设置该环境变量时,在编译调用GSL静态库文件的项目时遇到过以下错误:
/home/cn/GSL-arm/lib/libgsl.a(fft.o):-1: error: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
设置环境变量后就没有这个问题了
4、设置交叉编译器
./configure CC=/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc-9.2.1 \
--host=arm-linux-gnueabi \
--target=arm-linux-gnueabi \
--prefix=/home/cn/123/GSL
CC:编译器的位置
--host:用于指定将要运行该软件的主机平台,这通常是开发者自己所使用的计算机平台。
--target:用于指定软件所处理的目标平台,这通常是开发者希望程序能够在其上运行的平台。
--prefix:指定安装路径
设置完成后
5、编译
make
6、安装
make install
7、检查
make installcheck
然后就能在--prefix设置的位置看见以下文件夹
进入lib文件夹可以看见多个库文件
//使用命令 file <库文件路径> 查看库文件的类型和架构信息。
file ./libgsl.so.27.0.0
结果:
./libgsl.so.27.0.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, with debug_info, not stripped
已经完成编译的文件我放github上了,有需要自取