首页 新闻 会员 周边 捐助

eclipse写OpenGL,windows.h头文件会影响gl函数

0
悬赏园豆:20 [已解决问题] 解决于 2011-04-12 09:19

我的环境是eclipse+minGW,用C++写OpenGL的Win32框架,最简单的那种。我要把gl代码和windows代码分离,class GLCore 里面只有三个函数

bool initGL();
 void ChangeSize(int width, int height);
 void RenderScene();

当GLCore.cpp中包含windows.h时就没有问题,我把GLCore.cpp里面的#include <windows.h>注释掉就提示一堆错误(下图),那位大虾能告诉一下为什么呢?

 

施雨的主页 施雨 | 初学一级 | 园豆:134
提问于:2011-04-11 10:30
< >
分享
最佳答案
0

windows.h中定义了很多的数据类型和结构等,不包含这个文件,编译时这些类型就找不到,除非你把这些定义自己处理

收获园豆:20
2012 | 高人七级 |园豆:21645 | 2011-04-11 21:40
那么gl.h是一定要依赖windows.h的吗?有其他的和操作系统无关的(例如C/C++的库)来处理这些定义吗?
施雨 | 园豆:134 (初学一级) | 2011-04-12 08:38
刚看了一下,gl.h里面包含了大量WINGDIAPI和APIENTRY,这只是问题中的两个,其中WINGDIAPI在wingdi.h中定义为#define WINGDIAPI,APIENTRY在windef.h中定义为#define APIENTRY __stdcall,看来这个windows版本中的gl库对windows的有着很大的依赖,记得书里面讲到windows下的OpenGL主要依赖两部分,一是windows的GDI,一部分是图形硬件,所以我想让OpenGL和windows分离的彻底一些看来是不太实际了。
施雨 | 园豆:134 (初学一级) | 2011-04-12 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册