开源库的使用方法以及libjpeg的移植详解

        一、开源库的使用方法   (1)移植(×××,解压,配置,修改Makefile,编译或交叉编译)。移植的目的是由源码得到三个东西:动态库,所以,静态库。,头文件. h   (2)部署(部署动态库,部署静态库。和头文件. h)   动态库是运行时环境需要的,编译程序时不需要。   静态库是静态连接时才需要,动态链接时不需要。   头文件. h是在编译程序时使用的,运行时不需要的。   总结:静态库和头文件这两个东西,是在编译链接过程中需要的;而动态库是在运行时需要的。   所以动态库所以文件是要放到开发板的文件系统中去的(放的过程就叫部署),把静态库。文件和头文件. h文件放到ubuntu的文件系统中去。   (3)注意三个编译链接选项:小姐,,-l  - l   我是编译选项(准确的是说是预处理选项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 构建=i386 主机=手臂   (3)Makefile检查,主要查看交叉编译设置是否正确   CC=gcc 改为,CC=arm-linux-gcc   基于“增大化现实”技术=ar  rc 改为,基于“增大化现实”技术=arm-linux-ar 钢筋混凝土   AR2=ranlib 改为AR2=arm-linux-ranlib   (4)编译   (5)安装,make  install-lib安装就是将编译生成的库文件,头文件,可执行文件分别装载到——prefix ,, exec-prefix所指定的那些目录中去。   6.22.2。部署   部署动态链接库一般有三个位置可以考虑:   第一个:/lib   第二个:/usr/lib   第三个:任意指定目录


开源库的使用方法以及libjpeg的移植详解