安装使用JPEG库遇到的问题(用于交叉编译)

使用JPEG 官方解码库时出现的问题: 

使用example.c 接口编译时: 
1.错误
ubuntu:/mnt/hgfs/GZ1961/linux系统文件IO/day15/newjpeg$ gcc main.c  example.c   -o main 
example.c:3:21: fatal error: jpeglib.h: No such file or directory
compilation terminated.

找不到 jpeglib.h 头文件!!  

-I   指定头文件所在的路径   

例子: 
 -I./jpeglib/include   指定头文件在当前目录下的 jpeglib  -》 include 

2.错误 
/tmp/ccsvzKt4.o: In function `read_JPEG_file':
example.c:(.text+0xad): undefined reference to `jpeg_std_error'

找不到JPEG 解码库接口   

-L   
-l   //指定库的路径与库的名字  

例子: 
-L./jpeglib/lib  -ljpeg   


最终的编译命令: 
arm-linux-gcc main.c  example.c   -o main   -I./jpeglib/include   -L./jpeglib/lib  -ljpeg  


//JPEG 库解码的重点理解   

cinfo.output_width   : 图像宽度  
cinfo.output_components : 图像位深   
cinfo.output_height    : 图像的高度 
cinfo.output_scanline : 解码的当前行号  


执行程序时出现下列错误:
[root/]#./main  
./main: error while loading shared libraries: libjpeg.so.9: cannot open shared object file: No such file or directory


当前系统中没有对应的动态库。  

解决方法:  1.使用静态编译,用静态库。 
			arm-linux-gcc -static  main.c  example.c   -o main   -I./jpeglib/include   -L./jpeglib/lib  -ljpeg 
			
			2.配置动态库文件 
			把所有JPEG 的库文件拷贝到  /lib 目录中   (开发板的LIB)


 

你可能感兴趣的:(Linux_ubuntu)