我正在使用两个独立的库在 Qt 平台上工作。我面临的问题是他的两个库对 int32_t 有不同的声明。
第一个图书馆有:
#ifdef _WIN32
#if ULONG_MAX == 0xffffffff
typedef long int32_t;
#else
typedef int int32_t;
#endif
#endif
第二个图书馆:
typedef signed __int32 int32_t;
typedef unsigned __int32 uint32_t;
我得到的错误是:
C:\Program Files (x86)\SiliconSoftware\Runtime5.1\include\msinttypes\stdint.h:91:错误:C2371:'int32_t':重新定义;不同的基本类型 c:\program files (x86)\matlab\r2008a\extern\include\mclmcr.h:216:参见“int32_t”的声明
我尝试在 stackoverflow 上关注这篇文章:
两个 3rd 方库中 uint32 的 Typedef 重新定义 (C2371)
我试图在我的代码中实现它:
#define int32_t VicTorv3_int32_t
#include"mclmcr.h"
#undef int32_t
#define int32_t Silicon_int32_t
#include "stdint.h"
#undef int32_t
我仍然得到同样的错误。请帮忙。