奇怪的未定义函数引用,函数调用C++不存在

strange undefined references to function, the function call does not exist C++

本文关键字:函数调用 C++ 不存在 引用 函数 未定义      更新时间:2023-10-16

可能的重复项:
对无效"功能"C++的未定义引用

我收到错误:

undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'   features.cpp    /cv-pj      C/C++ Problem

但是,在进行全局搜索时,我找不到任何我调用这些类型的卷积的实例。

这是我的标题中的内容:

template <class T>
void Convolve(CImageOf<T> src, CImageOf<T>& dst,
              CFloatImage kernel);

可能出了什么问题?请注意,这实际上是在Windows上编译的,但我使用的是ubuntu 64位gcc

编辑:im 在日食上,它显示错误在第 0 行。那是什么意思?

完全错误:

features.o: In function `computeHarrisValues(CImageOf<float>&, CImageOf<float>&)':
features.cpp:(.text+0x4f6): undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'
features.cpp:(.text+0x63e): undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'
features.cpp:(.text+0xa60): undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'
features.cpp:(.text+0xbd1): undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'
features.cpp:(.text+0xd42): undefined reference to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)'
features.o:features.cpp:(.text+0x460b): more undefined references to `void Convolve<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>)' follow
features.o: In function `ComputeMOPSDescriptors(CImageOf<float>&, FeatureSet&)':
features.cpp:(.text+0x533e): undefined reference to `void ConvolveSeparable<float>(CImageOf<float>, CImageOf<float>&, CImageOf<float>, CImageOf<float>, int)'
collect2: ld returned 1 exit status
make: *** [Features] Error 1
template
void Convolve<float>(
   CImageOf<float> src,
   CImageOf<Float>& dst,
   CFloatImage kernel);