tensorRT推理编译时报错如下:
error LNK2019: 无法解析的外部符号 "public: class cv::Mat __cdecl Hybrik_RGB::pre_process(class cv::Mat const
检查自己的cpp对应的头文件有没有include进来,
#include "hybrik_infer.h"
#include<opencv2/opencv.hpp>
#include<math.h>
#include<iostream>
另外.h头文件如果和cpp文件不在同一个目录路径下,要把头文件的目录包含进来,
采用第三方库或者开源库,忘记添加依赖项,添加方法:(建议采用相对路径,关于相对路径请参照博客https://blog.csdn.net/weixin_44330072/article/details/106492533
解决方案右击→配置属性→C/C++→常规→附加包含目录→(这里添加要包含的头文件的目录,比如include或者inc文件夹)
解决方案右击→配置属性→链接器→常规→附加库目录→(这里包含库的文件夹,比如libs文件夹)
解决方案右击→配置属性→链接器→输入→附加依赖项→(这里添加库文件,就是.lib文件)
(上述办法请在属性页顶端确认好相关配置是否对应,是Debug模式还是Release模式,是x86/win32还是x64。比如是在Debug模式下Win32平台。编译运行时候的配置跟设置的配置必须一致。请往下看)
我的头文件在cpp上一级的common文件夹里,遂添加如下:
编译后还是同样报错,问题是如何解决的呢,把对应出问题的头文件与cpp文件添加到工程里,
解决方法:
只需要将 xxx.h 和 xxx.cpp 添加到项目中,具体办法是 右键项目→添加→现有项,然后添加进来就可以了。
如果此时出现了更多的“无法解析的外部符号报错”,那一般是证明确实是这种原因,只是因为 xxx.cpp 中某些函数是依赖外部某个文件,需要把这个文件也得添加进来,以此类推,将所有有关文件都添加进来就能解决啦。
参考博客:
https://blog.csdn.net/weixin_44330072/article/details/106493052