|
发表于 2010-3-15 21:14:01
|
显示全部楼层
交叉编译opencv库在目标平台上不能运行
我用的是opencv1.1pre1 ,用的交叉编译器是3.4.1的,安装倒是成功了,但是运行samples/c里的例子的时候,出现一大堆undefined reference阿,我也不知道啥原因~~我的PKG_CONFIG_PATH变量都设置的没有问题,举个例子,我单独的编译lkdemo.c的时候出现如下问题:
[root@localhost c]# arm-linux-g++ lkdemo.c -static -o lkdemo `pkg-config --cflags --libs opencv`
/usr/local/lib/opencv/lib/libcv.a(cvcolor.o)(.text+0x5334): In function `$a\':
: undefined reference to `cvCbrt\'
/usr/local/lib/opencv/lib/libcv.a(cvcolor.o)(.text+0x5350): In function `$a\':
: undefined reference to `cvCbrt\'
/usr/local/lib/opencv/lib/libcv.a(cvcolor.o)(.text+0x536c): In function `$a\':
: undefined reference to `cvCbrt\'
/usr/local/lib/opencv/lib/libcv.a(cvcolor.o)(.text+0x57b8): In function `$a\':
: undefined reference to `cvCbrt\'
/usr/local/lib/opencv/lib/libcv.a(cvfeatureselect.o)(.text+0x3ac): In function `$a\':
: undefined reference to `cvMinMaxLoc\'
/usr/local/lib/opencv/lib/libcv.a(cvcornersubpix.o)(.text+0x7b0): In function `cvFindCornerSubPix\':
: undefined reference to `cvInvert\'
/usr/local/lib/opencv/lib/libcv.a(cvlkpyramid.o)(.text+0x99c): In function `cvCalcOpticalFlowPyrLK\':
: undefined reference to `cvGetNumThreads\'
/usr/local/lib/opencv/lib/libcv.a(cvlkpyramid.o)(.text+0xe58): In function `cvCalcOpticalFlowPyrLK\':
: undefined reference to `cvGetThreadNum\'
/usr/local/lib/opencv/lib/libcv.a(cvlkpyramid.o)(.text+0x2714): In function `$a\':
: undefined reference to `cvInvert\'
/usr/local/lib/opencv/lib/libcv.a(cvlkpyramid.o)(.text+0x3420): In function `icvGetRTMatrix(CvPoint2D32f const*, CvPoint2D32f const*, int, CvMat*, int)\':
下面还有很多这种错误
楼主的问题解决了吗?能否也帮我解答一下我的问题?
我感觉我的问题应该是静态链接库在链接的时候没有被找到,但不知道该如何解决,请赐教啊~~
PS:我的静态链接库都已经生成了,主要包括libcv.a libcvaux.a libcxcore.a libhighgui.a libml.a,
但至于有没有正确的生成我就不知道了~~ |
|