背景
工作需要,需要将海康和大华的热成像功能集成到一个服务中去。在代码完成进行编译的过程中,发现make的时候会报头文件冲突,如下图所示:
还有好多类型定义的冲突,在这就不列了。下面说下解决方式:
- 更改大华dhnetsdk.h的头文件解决的。将大华和海康头文件中重复类型定义且含义相同的类型定义注释,如截图所示:
大华将 DWORD定义为 unsigned int,而海康将unsigned int定义为DWORD,这个就是重复引用。把这些重复定义的数据类型在dhnetsdk.h中注释。
我注释的有:
把这六个注释就ok了
还有一个关于交通的类型重定义了,这个注释就行。 - 在dhnetsdk.h中引入海康的sdk头文件HCNetSDK.h即可通过编译
linux下海康sdk编译的时候提示缺少头文件datatype.h
这个问题出现是因为在我的程序中我把海康的所有头文件都引用过来了,实际上就只引用HKNetSDK.h就行。