gpt4 book ai didi

c++ - VS 2008 中的奇怪链接错误

转载 作者:太空宇宙 更新时间:2023-11-04 14:13:04 24 4
gpt4 key购买 nike

我正在编译下面的代码片段



cv::Mat 框架;
tld->processImage(帧);

并获取以下链接器错误

错误 LNK2019:未解析的外部符号“public:void __thiscall tld::TLD::processImage(class cv::Mat)”(?processImage@TLD@tld@@QAEXVMat@cv@@@Z) 在函数 _main 中引用

现在我把代码改成了这样



垫子框架;
tld->processImage(0);

和低于链接器错误

错误 C2664:“tld::TLD::processImage”:无法将参数 1 从“int”转换为“cv::Mat” 没有构造函数可以采用源类型,或者构造函数重载决策不明确

问题是当我调用方法 tld->processImage(frame) 时,我收到此链接器错误“未解析的符号”,但是当我使用不正确的类型作为参数调用此方法时,它会给出另一个“无法转换参数”错误,从而确认事实上,该方法就在那里。

此问题仅发生在 processImage() 方法中。我可以毫无问题地调用“tld”的其他方法。

感谢任何帮助。

谢谢

最佳答案

我认为您很可能缺少对 cv::Mat 的引用。如果 TLD 类在其他地方工作,那几乎可以肯定是因为您在进行此方法调用的地方没有包含 cv

如果 cv 有多个包含,您应该添加到头文件的顶部;

#ifndef CV
#define CV

并在文件底部添加;

#endif

这将确保文件只被编译一次,并且用于解决我经常写c++时的很多链接器问题。

关于c++ - VS 2008 中的奇怪链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com