在我的计算机中设置GL3W:引发了两个我不知道如何解决的错误:
由gl3w脚本生成的函数,该脚本有以下错误:

static void *get_proc(const char *proc)               - line 19
{
void *res;

res = wglGetProcAddress(proc);                    - line 23, first error
if (!res)
    res = GetProcAddress(libgl, proc);        - line 25, second error
return res;
}

生成错误:
||=== LearnOPG, Debug ===|
C:\CodeBlocks\LearnOPG\gl3w.c||In function 'void* get_proc(const char*)':|

C:\CodeBlocks\LearnOPG\gl3w.c|23|error: invalid conversion from 'PROC {aka int (__attribute__((__stdcall__)) *)()}' to 'void*' [-fpermissive]|

C:\CodeBlocks\LearnOPG\gl3w.c|25|error: invalid conversion from 'FARPROC {aka int (__attribute__((__stdcall__)) *)()}' to 'void*' [-fpermissive]|

||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|

最佳答案

一些编译器/平台没有其他编译器/平台那么挑剔。C或C++不可能将函数指针隐式转换为void*和返回。但是gl3w的代码希望它能工作;显然,它没有用更严格的编译器/平台进行测试。
你可能应该提交一份关于它的错误报告。诚然,这件事似乎没有得到积极的解决,但他们可能会解决。

关于windows - GL3W编译错误:从“PROC…无效转换为无效*”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14115205/

10-11 16:05