本文共 2095 字,大约阅读时间需要 6 分钟。
./configure --prefix=/home/gec/jpeg CC=arm-linux-gcc --host=arm-linux --enable-shared --enable-static
host:指定编译的命令
prefix :指定 在家目录下jpeg目录为jpeg库安装的位置,jpeg目录需要自行先创建好,同时也可以在jpeg目录下创建include、bin、lib三个目录。
CC= arm-linux-gcc //第23行AR= arm-linux-ar rc //第63行AR2= arm-linux-ranlib //第65行
注意:确保你的交叉编译工具链有导出到环境变量。即你在终端的任何目录下都可以使用
arm-linux-gcc -v
命令查看交叉编译工具链
make
编译注意:如果你是在普通用户下,建议先在
make
之前,手动在prefix指定的目录下创建include、bin、lib,防止因为权限不足而make
失败。
make install
命令进行安装到这里就移植完成了,得到了在家目录下jpeg目录下lib目录中的动态链接库、静态链接库。和include目录下的头文件
注意:之后的编译命令需要指定头文件路径,和动态链接库路径和动态链接库名
如我之前的编译命令是arm-linux-gcc *.c -o main
要改成下面的编译代码命令 编译代码命令arm-linux-gcc *.c -o main -I./libjpeg -L./libjpeg -ljpeg
意思解释如下 *.c :在项目目录下的所有.c文件(只有一个.c文件有main函数) -I./libjpeg :指定第三方库的一个头文件路径 -L./libjpeg :指定第三方动态库的路径 -ljpeg :指定动态库的库名
chmod 777 libjpeg.so
去修改库权限。这样编译后的可执行程序就可以在开发板运行了==============================================================================================
./libtool --mode=compile arm-linux-gcc -O2 -I. -c ./jcapimin.cmake: ./libtool: Command not foundMakefile:143: recipe for target 'jcapimin.lo' failedmake: *** [jcapimin.lo] Error 127
ln: failed to create hard link 'libjpeg.so.62' => 'libjpeg.so.62.0.0': Operation not permittedMakefile:171: recipe for target 'libjpeg.la' failedmake: *** [libjpeg.la] Error 1
/usr/bin/install -c -m 644 jconfig.h /home/gec/jpeg/arm-jpeg/include/jconfig.h/usr/bin/install: cannot create regular file '/home/gec/jpeg/arm-jpeg/include/jconfig.h': No such file or directoryMakefile:209: recipe for target 'install-headers' failedmake: *** [install-headers] Error 1
转载地址:http://hupws.baihongyu.com/