再说一下三方库移植,为什么要移植三方库呢,因为很多时候开发为了节省时间需要调用其他的库函数,但是很多库不像之前的cJSON和sqlite3等这种非常知名的库会提供deb,只提供源码,所以如果要在linux和arm上使用就需要用到三方库移植,三方库的移植步骤:
1.先在官网或者git获取该库的源码压缩包
2.解压并进入目录
3.创建一个空的install文件夹便于安装
4.配置编译选项,一般源码目录下有configure
--host:指定编译器 --prefix:指定安装目录
./configure --prefix=$PWD/work
如果是交叉编译,给ARM板用,配置选项如下
./configure --host=arm-linux- --prefix=$PWD/work
还有的库是使用cmake,比如MQTT
cmake -DCMAKE_INSTALL_PREFIX=/xxx/paho.mqtt.c-1.3.0/install(xxx代表你自己的路径)
5.配置完后会生成Makefile文件,然后make
6.make install 执行Makefile里的install部分
7.这时如果你想使用该库的代码并编译是会报错的,因为gcc命令需要加上路径
gcc main.c -o demo -I ./include(源码的include文件夹) -L ./lib/ -l xxx(注释1)
注释1: -l后的名称不能随便写,应该找到该库的so文件,去掉前面的lib和后面的so
8.再运行发现还是报错,这时因为系统默认查找路径 /lib或/usr/lib没有刚才的so文件
所以应该将so文件软连接复制到默认路径中,复制加-d 保持软连接复制
cp libxxx.so* /lib -d
9.再运行就可以了
标签:三方,lib,--,源码,so,install,移植 来源: https://blog.csdn.net/weixin_45963260/article/details/123145140
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。