0

每个人

最近,我正在研究立体视觉。我从 Middlebury 网站下载 StereoMatch 代码:http: //vision.middlebury.edu/stereo/code/

我使用 Ubuntu 11.10 运行此代码。运行此代码后,出现以下错误。有 3 个 'undefined reference to ' 错误。但是代码已经包含了头文件'MinFilter.h'。我很困惑。有人可以帮助我吗?我会很感激。

错误:

StcAggregate.o: In function CStereoMatcher::AggrMin()': StcAggregate.cpp:(.text+0x20f): undefined reference tovoid MinFilter(CImageOf&, CImageOf&, int, int)' StcEvaluate.o: In function _ZL14PartialShuffle8CImageOfIhERS0_S1_f.constprop.2': StcEvaluate.cpp:(.text+0x37): undefined reference tovoid MinFilter(CImageOf&, CImageOf&, int, int)' StcEvaluate.cpp:(.text+0x5b): undefined reference to `void MaxFilter(CImageOf&, CImageOf&, int, int)' collect2: ld 返回 1 退出状态 make: * [StereoMatch] 错误 1

4

2 回答 2

0

我遇到了完全相同的问题并像这样解决了它:打开 Makefile 并将第一行从

CPPFLAGS = -O2 -Wall

CPPFLAGS = -O -Wall

然后“make clean”和“make”,它对我有用。所以我猜这是因为参数“-O2”做了比预期更多的优化。

于 2014-04-15T09:16:17.593 回答
0

这是来自链接器(和/或运行时环境)的错误,它找不到您包含的头文件承诺存在的某些符号(即代码)。为了找到这些符号,您必须告诉链接器链接到包含它们的库(或目标文件)。这个库可能带有预编译的代码,或者可能是在安装过程中制作的。您是否没有一个 README 文件,其中解释了如何使用(即链接和运行)代码?

于 2012-05-13T16:42:59.210 回答