クロスプラットフォームのOpenGL関数読み込みライブラリを作成しています。Windowsでは、コンパイラー(奇妙なことに、VSとwglGetProcAddress
GCCの両方)は、ある種類の関数ポインター(戻り型がからの戻り型void(*)()
)を別の種類の関数ポインターに暗黙的に変換することで問題ないように見えます。
ただし、 Linux上のGCCはそうではありません。glXGetProcAddress
を返しますがvoid(*)()
、常に警告を発行します。そして、OpenGLには文字通り何千ものこれらのものがあるので、それは完全に無関係な巨大な診断スピューになります。
この特定の警告を無効にする方法はありますか?GCCがシャットダウンするようにコードを再配置するか、#pragma
または何らかの方法で?全部試してみました#pragma diagnostic ignore -Wblahblah
が、警告に一致する「何とか」が見つかりませんでした。