-2

重複の可能性:
void “関数” C++ への未定義の参照

エラーが発生します:

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

ただし、グローバル検索を実行すると、それらのタイプで convolve を呼び出すインスタンスが見つかりません。

これは私のヘッダーにあるものです:

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

何が間違っている可能性がありますか?これは実際にはWindowsでコンパイルされることに注意してください。ただし、私はubuntu 64ビットgccを使用しています

編集: eclipse の 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
4

1 に答える 1

1
template
void Convolve<float>(
   CImageOf<float> src,
   CImageOf<Float>& dst,
   CFloatImage kernel);
于 2012-09-22T18:43:58.457 に答える