一、开源库的使用方法 (1)移植(×××、解压、配置、修改Makefile、编译或交叉编译)。移植的目的是由源码得到三个东西:动态库.so,静态库.a,头文件.h (2)部署(部署动态库so、部署静态库.a和头文件.h) 动态库是运行时环境需要的,编译程序时不需要。 静态库是静态连接时才需要,动态链接时不需要。 头文件.h是在编译程序时使用的,运行时不需要的。 总结:静态库和头文件这两个东西,是在编译链接过程中需要的;而动态库是在运行时需要的。 所以动态库so文件是要放到开发板的文件系统中去的(放的过程就叫部署),把静态库.a文件和头文件.h文件放到ubuntu的文件系统中去。 (3)注意三个编译链接选项:-I -l -L -I是编译选项(准确的是说是预处理选项CFLAGS或者CPPFLAGS中指定),用来指定预处理时查找头文件的范围的。 -l是链接选项(LDFLAGS中指定),用来指定链接额外的库(譬如我们用到了数学函数,就用-lm,链接器就会去链接libm.so;那么我们使用了libjpeg,对应的库名字就叫libjpeg.so,就需要用-ljpeg选项去链接) -L是链接选项(LDFLAGS中指定),用来告诉链接器到哪个路径下面去找动态链接库。 总结:-l是告诉链接器要链接的动态库的名字,而-L是告诉链接器库的路径 二、libjpeg的移植 (1)×××、解压 (2)配置 ./configure --prefix=/opt/libdecode --exec-prefix=/opt/libdecode --enable-shared --enable-static -build=i386 -host=arm (3)Makefile检查,主要查看交叉编译设置是否正确 CC=gcc 改为 CC=arm-linux-gcc AR=ar rc 改为 AR=arm-linux-ar rc AR2=ranlib 改为 AR2=arm-linux-ranlib (4)编译 make (5)安装 make install-lib 安装就是将编译生成的库文件、头文件、可执行文件分别装载到--prefix --exec-prefix所指定的那些目录中去。 6.22.2.部署 部署动态链接库一般有三个位置可以考虑: 第一个:/lib 第二个:/usr/lib 第三个:任意指定目录
开源库的使用方法以及libjpeg的移植详解
原创
©著作权归作者所有:来自51CTO博客作者奋斗少年_的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SAMBA 的实现原理以及使用方法
SAMBA 的实现原理以及使用方法 一.SAMBA的起源 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议。 &
职场 samba 休闲 Samba服务器 Samba服务器配置 -
ECharts的resize失效原因以及使用方法
很多朋友在开发的过程中要把ECharts图标做成自适应浏览器宽高的效果。于是去翻看ECharts官网发现了resize方法,结果用了之后发现没用,而且根本不知道什么原因。解决办法:笔者在调试了好久之后发现,不能给ECharts的容器设置固定的宽高。宽度要写百分比高度要写vh然后再搭配resize方法才可以实现根据浏览器大小而改变大小的功能示例代码:let ECharts = echa...
ECharts的resize失效解决办法 ECharts随窗口大小自适应大小 ECharts的resize使用方法 ECharts做自适应大小 Echarts的resize无效解决办法