先前在vc6.0上配置opengl不成功,尝试了多种办法,网上的所有方法 都不能正常编译。
所有今天中午我安装了vs2005.又遇到了配置问题:
新建的win32 console下,我用了这个简单的程序:#include <windows.h>       
#include "stdafx.h"
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>//初始化OpenGL场景
void myinit (void)
{
    glClearColor (0.0, 0.0, 0.0, 0.0);     //将背景置成黑色
    glShadeModel (GL_FLAT);    //设置明暗处理}
//用户的绘图过程void CALLBACK display(void){    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清除缓存    glBegin(GL_LINES);              //开始画一根白线    glColor3f (1.0f, 1.0f, 1.0f);  //设置颜色为白色    //设置第一根线的两个端点,请注意:OpenGL坐标系的原点是在屏幕左下角    glVertex2f(10.0f, 50.0f);    glVertex2f(110.0f, 50.0f);    glColor3f (1.0f, 0.0f, 0.0f);  //设置颜色为红色    //设置第二根线的两个端点    glVertex2f(110.0f, 50.0f);    glVertex2f(110.0f, 150.0f);     glEnd();      //画线结束    glFlush ();   //绘图结束}////主过程://  初始化Windows的窗口界面//  并初始化OpenGL场景,绘图int main(int argc, char** argv){    auxInitDisplayMode (AUX_RGB);  //初始化显示模式,采用RGB彩色系统。    auxInitPosition (0, 0, 400, 150);  //初始化窗口位置、大小    auxInitWindow ("Display Lists");   //初始化窗口,设置标题    myinit ();    auxMainLoop(display);      //循环运行display过程,display由用户编写    return(0);}
首 先:   /VC/PlatformSDK/Include/GL 复制到 VC/Include/GL 
   /VC/PlatformSDK/Lib 复制到  /VC/Lib 
   dll: /system32 没变
生成出现错误: 全是关于gl.h里的函数问题143个:   f:\microsoft visual studio 8\vc\include\gl\gl.h(1152) : error C2144: 语法错误 : “void”的前面应有“;”
   f:\microsoft visual studio 8\vc\include\gl\gl.h(1152) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
   f:\microsoft visual studio 8\vc\include\gl\gl.h(1152) : error C2146: 语法错误 : 缺少“;”(在标识符“glAccum”的前面)
   f:\microsoft visual studio 8\vc\include\gl\gl.h(1152) : error C2182: “APIENTRY”: 非法使用“void”类型
   f:\microsoft visual studio 8\vc\include\gl\gl.h(1152) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  ……搜来的方法:
    
   1、项目\属性”菜单项或按Alt+F7组合键,弹出“[项目名]属性页”对话框,在其左边的“配置”目录栏中,选中“配置属性\链接器\输入”项,(在该其左上角的“配置”栏的下拉式列表中,选择“所有配置”项)在右边顶行的“附加依赖项”栏中键入opengl32.lib glu32.lib glaux.lib,按“确定”钮关闭该对话框。
    
    结果无效!错误依旧   2、  项目 -->选择属性 C\C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中间用分号隔开;
  然后点击linker-->input--> additional dependencies添加glut32.lib Opengl32.lib Glu32.lib  (与前面的步骤同)   结果无效!  崩溃了快,一个破编程接口的配置费了我近半个月,opengl的红宝书都让我看2遍了,竟然还不能实际操作!  
   
  

解决方案 »

  1.   

    崩溃了快,一个破编程接口的配置费了我近半个月,opengl的红宝书都让我看2遍了,竟然还不能实际操作!
    ==========================
    就是一个简单的OpenGL框架有那么复杂么
      

  2.   

    看到你的错误,我第一反应是,你漏了个分号。但似乎你代码里面没漏你更换下头文件顺序试试,比如
    glu.h
    gl.h
    glaux.h另外,推荐用glew,很多时候可以避免gl版本的问题
      

  3.   

    我刚刚复制了你代码try了一下,我只找到glaux.h下载的地方,没找到glaux.lib文件下载。就我使用这个glaux.h文件编译的结果,没有出现lz的错误。报错只是说我没有link glaux.lib而已。1>T1.obj : error LNK2019: 无法解析的外部符号 _auxMainLoop@4,该符号在函数 _main 中被引用
    1>T1.obj : error LNK2019: 无法解析的外部符号 _auxInitWindowA@4,该符号在函数 _main 中被引用
    1>T1.obj : error LNK2019: 无法解析的外部符号 _auxInitPosition@16,该符号在函数 _main 中被引用
    1>T1.obj : error LNK2019: 无法解析的外部符号 _auxInitDisplayMode@4,该符号在函数 _main 中被引用因此,你的错误不在这段代码,可能你stdafx.h里面有引用其它头文件,那个头文件漏了个分号,或者有其它错误。
      

  4.   

    赞同,我也是用vs2005做过OpenGL的配置,根据网上的方法是可以运行的。
      

  5.   

    VS2003 VS2008都弄了 可以用 
      

  6.   

    不要急躁啊,我按网上的方法配置一下vc6.0就可以用了,你下新的gl,glu,gult  .h .lib。看看你的vc是不是安装出错,用英文版滴
      

  7.   

    换台电脑就解决了。因为在别人的电脑上都正常。
    而且GL也无需任何配置,装好VS直接就用的。
      

  8.   

    谢谢关注,这个可能是我电脑问题。等有空了重装下。
    闲了2周,今天调试没有库函数报错了。另外写了个程序,测试了下出现下面2个错误。貌似在用vc6.0时好像也出现过。
    __imp____glutInitWithExit@12 
    __imp____glutCreateWindowWithExit@8 解决方案:
     #define GLUT_DISABLE_ATEXIT_HACK
    置于#include<GL/glut.h>前,编译就通过了。(高人可否解释下?)
      

  9.   

    我想起来了
    exit有冲突
    OpenGL有一个exit
    C++的runtime也有一个exit
    新版的GL库没有这个问题了
    具体处理方式我还真不清楚
    应该和你用的这个差不多
      

  10.   

    新版的GL GLUT等库在哪儿下载?可能就是我的版本太老了,在opengl.orgg官网没找到
    方便的能否给个链接,或发我email: [email protected]
    谢谢
      

  11.   

    不好意思
    昨天比较忙把这事忘了
    我发了
    你查收
    应该就是glut的问题
      

  12.   

    哎 杯具 大家讨论的问题我竟然不懂。
    谁给我推荐点书 学学OPFL编程,越基础越好啦
      

  13.   

    学opengl还是用VC6吧。
    VS2005的VC目录的INCLUDE的文件夹中好像就没有GL这个文件夹。
    如果用到了GLUT库的还,还得自己编译,再拷贝头文件。你说的那些程序在VC6下没任何问题,VS2005对C和C++区分更严格。
      

  14.   

    建议你可以看一下这个http://blog.sina.com.cn/s/blog_505b7d470100qxeb.html