Linux下Qt加载OpenCV静态链接库的问题,弄了好几天了还不会,求大神帮忙!

ikaluss 2012-07-17 05:07:27
Opencv编译好了动态链接库和静态链接库。用Qt加载动态链接库的时候能正常运行,可是换成加载静态链接库的时候就出现一大堆undefined reference的错误:
/z-plan/imagepro/comfunction.o:: In function `comfunction::qimageToipl()':
/z-plan/imagepro/comfunction.cpp:: error: undefined reference to `cvCreateImageHeader'
/z-plan/imagepro/comfunction.o:: In function `comfunction::loadImage(QString&)':
/z-plan/imagepro/comfunction.cpp:: error: undefined reference to `cvCreateImageHeader'
/z-plan/imagepro/../../usr/local/local/lib//libcv.a(cvcolor.o):: In function `cvCvtColor':
/opencv-1.0.0/cv/src/cvcolor.cpp:2251: error: undefined reference to `cvGetMat'
/opencv-1.0.0/cv/src/cvcolor.cpp:2255: error: undefined reference to `cvError'
一共有两百多个这样的错误。请问各位大神这个问题如何破?
系统是CentOS5.3,qt-4.7. OpenCV-1.0.0 qt用的是静态编译,OpenCV安装路径下的lib文件夹下有.so和.a的链接库文件。静态编译应该没有问题,我在没装Qt的机器上能运行静态编译出来的程序。
...全文
487 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikaluss 2012-07-20
  • 打赏
  • 举报
回复
不知道为什么通过Qt添加静态库总是不成功,还是说静态库的添加必须用命令行的方式。虽然最后没有采用这种方法,还是结了吧。
titer1 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

注意静态链接是的命令行次序问题,一般:

gcc -o test test.o -L. -static -lxxx
[/Quote]

就是这样的,引用头文件的顺序 也有讲究。
morris88 2012-07-18
  • 打赏
  • 举报
回复
注意静态链接是的命令行次序问题,一般:

gcc -o test test.o -L. -static -lxxx

ikaluss 2012-07-17
  • 打赏
  • 举报
回复 1
我想在没有安装Qt和OpenCV的电脑上运行这个程序。

23,131

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧