Ubuntu18.04将GSL库编译为ARM框架下的库文件

一、参考连接

http://t.csdn.cn/BDAh7

二、下载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上了,有需要自取

https://github.com/cheng8876001/GSL-arm

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值