OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 4137|回复: 1

linux-arm交叉编译opencv,解决不了这个错误,请大家帮忙!

[复制链接]
发表于 2010-4-2 17:05:14 | 显示全部楼层 |阅读模式
我使用的编译工具是arm-none-linux-gnueabi-g++
opencv1.0.0
想用opencv写个程序,放到devkit8000(omap3530芯片)开发板上。

在configure指令用的是下面这些
  1. ./configure --host=arm-none-linux-gnueabi --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python
  2. --without-swig --enable-static --disable-shared --disable-apps
  3. CXX= arm-none-linux-gnueabi -g++
  4. CPPFLAGS=-I/usr/include
  5. --prefix=/opt/opencv-arm6
复制代码
成功。
Make成功。
Makeinstall成功。

之后进行交叉编译我自己写的程序diejia2.cpp
  1. arm-none-linux-gnueabi-g++ diejia2.cpp -o diejia2 -I/opt/opencv-arm6/include/opencv -L/opt/opencv-arm6/lib
  2. -lcv -lcvaux -lcxcore -lhighgui -lml
复制代码
出错,信息如下
  1. davinci@davinci-desktop:~/diejia$ arm-none-linux-gnueabi-g++ diejia2.cpp -o diejia2 -I/opt/opencv-arm6/include/opencv -L/opt/opencv-arm6/lib -lcv -lcvaux -lcxcore -lhighgui -lml
  2. /opt/opencv-arm6/lib/libhighgui.a(loadsave.o): In function `__static_initialization_and_destruction_0(int, int)':
  3. loadsave.cpp:(.text+0x1b0): undefined reference to `cvSetImageIOFunctions'
  4. /opt/opencv-arm6/lib/libhighgui.a(loadsave.o): In function `icvLoadImage(char const*, int, bool)':
  5. loadsave.cpp:(.text+0x34c): undefined reference to `cvError'
  6. loadsave.cpp:(.text+0x350): undefined reference to `cvGetErrStatus'
  7. loadsave.cpp:(.text+0x37c): undefined reference to `cvReleaseMat'
  8. loadsave.cpp:(.text+0x438): undefined reference to `cvCreateImage'
  9. loadsave.cpp:(.text+0x440): undefined reference to `cvGetErrStatus'
  10. loadsave.cpp:(.text+0x45c): undefined reference to `cvGetMat'
  11. loadsave.cpp:(.text+0x498): undefined reference to `cvReleaseMat'
  12. loadsave.cpp:(.text+0x4b4): undefined reference to `cvReleaseImage'
  13. loadsave.cpp:(.text+0x4e0): undefined reference to `cvCreateMat'
  14. loadsave.cpp:(.text+0x4e8): undefined reference to `cvGetErrStatus'
  15. loadsave.cpp:(.text+0x50c): undefined reference to `cvError'
  16. loadsave.cpp:(.text+0x558): undefined reference to `cvReleaseImage'
  17. loadsave.cpp:(.text+0x588): undefined reference to `cvError'
  18. /opt/opencv-arm6/lib/libhighgui.a(loadsave.o): In function `cvSaveImage':
  19. loadsave.cpp:(.text+0x600): undefined reference to `cvError'
  20. loadsave.cpp:(.text+0x608): undefined reference to `cvReleaseMat'
  21. loadsave.cpp:(.text+0x610): undefined reference to `cvReleaseMat'
  22. loadsave.cpp:(.text+0x614): undefined reference to `cvGetErrStatus'
  23. loadsave.cpp:(.text+0x634): undefined reference to `cvGetMat'
  24. loadsave.cpp:(.text+0x63c): undefined reference to `cvGetErrStatus'
  25. loadsave.cpp:(.text+0x69c): undefined reference to `cvError'
  26. loadsave.cpp:(.text+0x74c): undefined reference to `cvCreateMat'
  27. loadsave.cpp:(.text+0x754): undefined reference to `cvGetErrStatus'
  28. loadsave.cpp:(.text+0x770): undefined reference to `cvGetErrStatus'
  29. loadsave.cpp:(.text+0x7e4): undefined reference to `cvError'
  30. loadsave.cpp:(.text+0x7f8): undefined reference to `cvCreateMat'
  31. loadsave.cpp:(.text+0x800): undefined reference to `cvGetErrStatus'
  32. loadsave.cpp:(.text+0x818): undefined reference to `cvFlip'
  33. loadsave.cpp:(.text+0x81c): undefined reference to `cvGetErrStatus'
  34. loadsave.cpp:(.text+0x844): undefined reference to `cvError'
  35. loadsave.cpp:(.text+0x864): undefined reference to `cvError'
  36. loadsave.cpp:(.text+0x884): undefined reference to `cvError'
  37. loadsave.cpp:(.text+0x8a4): undefined reference to `cvError'
  38. loadsave.cpp:(.text+0x8c4): undefined reference to `cvError'
  39. /opt/opencv-arm6/lib/libhighgui.a(loadsave.o):loadsave.cpp:(.text+0x8e4): more undefined references to `cvError' follow
  40. /opt/opencv-arm6/lib/libhighgui.a(utils.o): In function `cvConvertImage':
  41. utils.cpp:(.text+0x10e4): undefined reference to `cvGetMat'
  42. utils.cpp:(.text+0x10ec): undefined reference to `cvGetErrStatus'
  43. utils.cpp:(.text+0x1108): undefined reference to `cvGetMat'
  44. utils.cpp:(.text+0x1110): undefined reference to `cvGetErrStatus'
  45. utils.cpp:(.text+0x1158): undefined reference to `cvError'
  46. utils.cpp:(.text+0x1290): undefined reference to `cvError'
  47. utils.cpp:(.text+0x1298): undefined reference to `cvReleaseMat'
  48. utils.cpp:(.text+0x12bc): undefined reference to `cvError'
  49. utils.cpp:(.text+0x12d0): undefined reference to `cvCreateMat'
  50. utils.cpp:(.text+0x1324): undefined reference to `cvConvertScale'
  51. utils.cpp:(.text+0x135c): undefined reference to `cvError'
  52. utils.cpp:(.text+0x137c): undefined reference to `cvError'
  53. utils.cpp:(.text+0x139c): undefined reference to `cvError'
  54. utils.cpp:(.text+0x17fc): undefined reference to `cvCopy'
  55. utils.cpp:(.text+0x1800): undefined reference to `cvGetErrStatus'
  56. utils.cpp:(.text+0x1824): undefined reference to `cvError'
  57. utils.cpp:(.text+0x1840): undefined reference to `cvFlip'
  58. utils.cpp:(.text+0x1844): undefined reference to `cvGetErrStatus'
  59. utils.cpp:(.text+0x1868): undefined reference to `cvError'
  60. collect2: ld returned 1 exit status
复制代码

好像是highgui交叉编译出问题。

把diejia2.cpp注释掉里面的
  1. //ima=cvloadimage(“1.bmp”)
复制代码
代码之后,没错了。生成了可执行文件。
但是没有cvloadimage怎么读取图像??肯定要有的。

在网上看到好多人说,交叉编译时gtk和highgui是会出问题的,我想只有两条路可以解决问题
1  想办法把highgui交叉编译通过,不知道大家有没有做成的,指教一下
2 不用highgui,有没有其他读图片的方法,初学望指教
回复

使用道具 举报

发表于 2010-7-13 16:05:51 | 显示全部楼层

linux-arm交叉编译opencv,解决不了这个错误,请大家帮忙!

直接使用bmp图,读入然后转换为iplimage不就好了?highgui好像依赖复杂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-3-29 21:48 , Processed in 0.009157 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表