问题:
报错内容如上,单独编译类不报错,但是在main文件中包含类的头文件,就会报错。
问题原因:
正如这位作者所叙述:https://blog.csdn.net/Mr_zhang1911116/article/details/126241815
就是说我们的头文件被多次包含,所包含的对象又被main函数调用,导致出现“找到一个或多个多重定义的符号”,最简单的解决方法就是注意代码编写规范,最好把包含头文件放在源文件中(.cpp),避免很多不必要的问题。
比如:上述我们出现的问题,仔细一看,是这个函数除了问题,然后debug的时候发现这个utils.h头文件被ImageInfer头文件包含,然后main文件中包含了ImageInfer头文件造成编译错误。
解决方法:把utils.h头文件直接放在ImageInfer的源文件中,编译就不会报错