【SEP4020】ImageMagick和libdmtx的移植 for Arm7
来源:互联网 发布:c语言for break 编辑:程序博客网 时间:2024/05/24 08:34
经过两天的奋斗,终于成功的把这2个的东西移植到开发板上去了,我用的是SEP4020的开发板,系统为UBUNTU 9.10,由于这是俺第一次做移植,遇到了不少新鲜而困难的东西,首先对移植的过程还不太了解,我自己的开发板是通过NFS挂载根文件系统(路径:/work/nfs_root/cmt_root),当初在移植的时候直接把ImageMagick安装在/work/nfs_root/cmt_root/usr/local下面,一切都安装得很顺利,可以到了安装libdmtx的时候,如前面文章所说,找不到Magic,发现Magic的版本号太低,搞来搞去的解法就是前篇文章所讲的那样。移植到开发板的时候,发现convert -sample 25%x25% 002.jpg 005.jpg(PS:002.jpg是自己放的一张图),发现找不到configure.xml,打开调试信息:convert -debug all -sample 25%x25% 002.jpg 005.jpg,发现它寻找的路径是/work/nfs_root/cmt_root/usr/local/lib/ImageMagic/config/configure.xml,很明显这样是找不到的,因为根文件系统压根就不存在这样的路径,这路径是主机上的。
于是乎,自己猜想出这么个结论:移植软件的过程都是把软件先交叉编译到主机的根目录下,而不是开发板的根目录,这样才能识别到它的真正目录(不知道我的这个猜想对不对,也欢迎各位网友指导纠正)
于是之前的移植软件的做法都是不正确的,现在转变方向,把软件都交叉编译到/usr/local/下面去,发现在安装的时候找不到arm-Linux-gcc这条命令,我觉得是这个原因:/usr/local这个目录的的owner:group都是root:root,而我的arm-linux-gcc的PATH变量是放在/home/billpig/.bashrc下,因此我的这个PATH变量只是一个用户的环境变量,用root取操作的话,当然就在它的PATH变量或者全局的PATH变量中找到arm-Linux-gcc指令咯。因此就来次绝的,直接用
sudo chown -R billpig:billpig /usr/local修改它的owner:group为billpig
继续安装,可以安装成功,当再次安装libdmtx的时候,就不用指定它的PKG_CONFIG_PATH变量了,直接用默认就可以了,移植到开发板上去,发现convert: delegate library support not built-in '002.jpg' 的错误,后来寻找相关资料,发现是没有安装libjpeg的原因,于是又找了libjpeg的源代码来编译安装,发现在confiure的时候,找不到依赖库libjpeg,通过交叉编译也不可以,后来又找了个jpegsrc.v7.tar.gz,
执行
./configure --host=arm-linux --prefix=/usr/local
make
make install
然后进入ImageMagick的目录下,执行
./configure --prefix=/usr/local --disable-openmp -enable-shared -enable-lzw -without-perl --host=arm-linux LDFLAGS='-L/usr/local/lib -L/lib' CPPFLAGS='-I/usr/local/include -I/use/local/include/ImageMagick -I/usr/include'
发现可以识别到依赖库libjpeg了,HAPPY ing
make
make install
接着安装libdmtx
./configure --host=arm-linux --prefix=/usr/local
make
make install
一切都无问题,把文件拷贝到开发板的根目录文件下,运行,执行都没什么问题,不过执行convert -sample 25%x25% 002.jpg 005.jpg的时候,005.jpg在主机上打开看不到图像
另外,进入/usr/local/bin下,执行 ./dtxmread -n image.jpg发现识别不到图片里的信息,但是一点错误都没。
总的来说,移植是完成了,其他的算法的相关问题就交给师兄解决了
- 【SEP4020】ImageMagick和libdmtx的移植 for Arm7
- 【SEP4020】ImageMagick和libdmtx的移植 for Arm7
- 【SEP4020】cross compile libdmtx 中出现的问题
- 【ImageMagick 】-ImageMagick的安装和使用
- ImageMagick for java Jmagick的使用
- uc/os-II在ARM7上的移植探索
- FreeRTOS 到ARM7的移植(原创),送官方说明文档
- SEP4020中RAMDISK的加载
- SEP4020中RAMDISK的加载
- SEP4020中RAMDISK的加载
- DataMatrix编码 关于libdmtx的使用
- arm7和arm9对pc的影响
- ARM7、ARM9和ARM11的区别
- etk arm7 移植版 演示
- linux下ImageMagick和Jmagic的安装
- linux下ImageMagick和Jmagic的安装
- SEP4020 spi 总线驱动的实现
- sep4020上完成了i2s的驱动
- struct 与 class 区别总结
- ReactNative__npm使用
- bootstrap手机页面
- 暑期集训之前M大的数
- 线程状态图
- 【SEP4020】ImageMagick和libdmtx的移植 for Arm7
- spring框架的XML扩展特性:让spring加载和解析你自定义的XML文件
- C#学习之数据类型、变量与方法
- BZOJ2820: YY的GCD(Mobius反演)
- 【Bootloader】U-BOOT全线移植分析系列之四--U-boot如何引导Linux内核启动?
- 【docker】-mysql启动
- 图片超过边框大小时截取图片中间部分
- 使用Java 8 新类进行注解
- 字节输入流与字符输入流的一些使用