大家
最近,我正致力于立体视觉。我从midbury网站下载了StereoMatch代码:http://vision.middlebury.edu/stereo/code/
我使用Ubuntu 11.10来运行此代码。运行此代码后,我收到以下错误。有3个'未定义的'错误引用。但是代码已经包含了头文件'MinFilter.h'。我感到困惑。有人能帮助我吗?我很感激。
错误:
StcAggregate.o:在函数CStereoMatcher::AggrMin()':
StcAggregate.cpp:(.text+0x20f): undefined reference to
中,void MinFilter(CImageOf&,CImageOf&,int,int)'
StcEvaluate.o:函数_ZL14PartialShuffle8CImageOfIhERS0_S1_f.constprop.2':
StcEvaluate.cpp:(.text+0x37): undefined reference to
void MinFilter(CImageOf&,CImageOf&,int,int)'
StcEvaluate.cpp :(。text + 0x5b):未定义引用`void MaxFilter(CImageOf&,CImageOf&,int,int)'
collect2:ld返回1退出状态
make: * [StereoMatch]错误1
答案 0 :(得分:0)
这是来自链接器(和/或运行时环境)的错误,它无法找到您所包含的头文件承诺存在的某些符号(即代码)。为了找到这些符号,您必须告诉链接器链接包含它们的库(或目标文件)。该库可能带有预编译的代码,或者可能是在安装期间创建的。你有没有一个自述文件说明如何使用(即链接和运行)代码?
答案 1 :(得分:0)
我遇到了完全相同的问题并解决了这个问题: 打开Makefile并从
更改第一行CPPFLAGS = -O2 -Wall
到
CPPFLAGS = -O -Wall
然后"干净"和" make",它对我有用。所以我猜这是因为param " -O2"做了比预期更多的优化。