最近使用海思SDK(c语言写的)开发软件,它给的头文件中有#define HANDLE int。
Qt原先的类型定义(Qt::HANDLE)与sdk里的定义(#define HANDLE int)冲突了,怎样可以不改动sdk定义而通过编译?我将#define HANDLE int注释掉能通过编译,但调用里边的函数时就崩溃……
具体编译时产生冲突 如下:
In file included from NetSDKDLL.h:10:0,
from decoderconfignav.h:11,
from decoderconfignav.cpp:1:
common_head.h:23:22: error: expected unqualified-id before ‘int’
#define HANDLE int
^
/usr/include/qt4/QtGui/qapplication.h:134:59: note: in expansion of macro ‘HANDLE’
QApplication(Display* dpy, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0, int = ApplicationFlags);
^
common_head.h:23:22: error: expected identifier before ‘int’
#define HANDLE int
^
/usr/include/qt4/QtGui/qapplication.h:135:60: note: in expansion of macro ‘HANDLE’
QApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap= 0, int = ApplicationFlags);