日期:2014-05-16  浏览次数:20592 次

Linux下Qt加载OpenCV静态链接库的问题,弄了好几天了还不会,求大神帮忙!
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的机器上能运行静态编译出来的程序。

------解决方案--------------------
注意静态链接是的命令行次序问题,一般:

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


------解决方案--------------------
探讨

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

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