我正在編寫一個跨平臺的OpenGL函數加載庫。在Windows上,編譯器(奇怪的是,VS 和 GCC)似乎很好,將一種函數指針(來自wglGetProcAddress
的返回類型是void(*)()
)隱式轉換爲另一種類型的函數指針。存儲函數指針時禁止GCC警告
GCC Linux但是不是。 glXGetProcAddress
將返回void(*)()
,但它會一直髮出警告。而且由於OpenGL具有數以千計的這些功能,因此它增加了一個完全不相關的巨大診斷功能。
是否有某種方法可以禁用此特定警告?要麼使用#pragma
,要麼重新排列代碼以便GCC關閉?我嘗試了整個#pragma diagnostic ignore -Wblahblah
,但我找不到與我得到的警告相匹配的「blahblah」。
作爲一個附註,你可能想看看http://glew.sourceforge.net/來處理加載所有這些 – hexist
或許'gcc -w'? – 2012-10-24 17:45:37
@hexist:是的,我正在嘗試[*替換* GLEW](https://bitbucket.org/alfonse/glloadgen/wiki/Home),而不是使用它。 –