mingw吐出无数关于忽略“dll import”属性的警告

时间:2009-02-09 02:10:21

标签: qt warnings mingw dllimport

我正在使用mingw32-make编译一个使用opengl的qt项目,它正确编译所有内容,但它会发出无数的格式警告消息:

c:/qt3/include/qcolor.h:67: warning: inline function `int qGray(int, int, 
int)' declared as dllimport: attribute ignored

对于此特定实例,函数声明为:

Q_EXPORT inline int qGray( int r, int g, int b )// convert R,G,B to gray 0..255
{ return (r*11+g*16+b*5)/32; }

我的问题是,为什么吐出所有这些警告?如何在不破坏其他合法警告的情况下使其静音(即与我的代码直接相关的警告可能是潜在的问题)?

更重要的是,为什么mingw首先忽略了dll import属性?

1 个答案:

答案 0 :(得分:0)

我认为Qt应该只定义Q_EXPORT(Qt 4中的Q_DECL_EXPORT)作为dllexport / import属性,如果定义了以下宏之一,那么请确保您的makefile或包含Qt头的代码(最终将包含qglobal) .h)没有定义它们中的任何一个:WIN32,_WIN32,__ WIN328,WIN64,_WIN64,__ WIN64__。或者你可以在编译(或预处理器)标志中将Q_EXPORT定义为什么,然后Qt应该跳过定义它。