这种OpenGL的WIN32 Application工程是用VC怎么创建的???我看到随书光盘上的例子程序,但不知道该如何自己创建一个它那样的工程,
好象是WIN32 Application的.workspace里的类视图里只有"Global",没有资源视图,文件视图只有一个Main.cpp,没有那三个文件夹,只有一个文件夹叫"External Dependencies"
目录下有这几个文件:Exam01.dsp,Exam01.dsw,Exam01.ncb,Exam01.opt,Exam01.plg,和Main.cpp.
我自己尝试了创建了一个空的WIN32 Application,然后向Source Files中添加了一个Main.cpp文件,把人家的代码COPY进去后编译后说
--------------------Configuration: my_try - Win32 Debug--------------------
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/my_try.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.C++代码都在Main.cpp里,内容如下:
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>void CALLBACK Display(void);
void CALLBACK MyReshape(GLsizei w, GLsizei h);GLint Width = 0; // 窗口宽度
GLint Height = 0; // 窗口高度void CALLBACK Display(void)
{
glViewport( 0, 0, Width, Height);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
auxWireTeapot(1.0);
glPopMatrix();
auxSwapBuffers();
}void CALLBACK MyReshape(GLsizei w, GLsizei h)
{    
Width = w;
Height = h; glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if( w <= h ) //  宽度小于高度时
glOrtho(-2.0f, 2.0f, -2.0f*(GLfloat)h/(GLfloat)w, 
   2.0f*(GLfloat)h/(GLfloat)w, -2.0f, 2.0f);
else  //  宽度大于高度时
  glOrtho(-2.0f*(GLfloat)w/(GLfloat)h,
 2.0f*(GLfloat)w/(GLfloat)h,-2.0f,2.0f,-2.0f,2.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}int main(int argc, char** argv)
{
    auxInitDisplayMode(AUX_DOUBLE | AUX_RGB | AUX_DEPTH16 | AUX_STENCIL);
    auxInitPosition (30, 100, 200, 200);
    auxInitWindow ("郑佳");
    auxReshapeFunc (MyReshape);
    auxMainLoop(Display);
    return(0);
}谁知道是怎么回事??或者怎么编译过去显示图象???

解决方案 »

  1.   

    从main可以看出,你的不是win32 application应该是windows console application,改成windows console application,然后把代码copy进去就行了!!
      

  2.   

    我改了,还不行:
    StdAfx.cpp
    Compiling...
    my_trywc.cpp
    e:\opengl_dev\my_trywc\my_trywc.cpp(50) : fatal error C1010: unexpected end of file while looking for precompiled header directive
    Error executing cl.exe.my_trywc.exe - 1 error(s), 0 warning(s)
      

  3.   

    在最前面加上头文件:
    #include "stdafx.h"
      

  4.   

    1 它是一个控制台程序。
      其实它也可以有资源。
    2 如果有MFC支持的话,必须加#include "stdafx.h"
      

  5.   

    请把int main(int argc, char** argv)这一句改为:
    int _stdcall WinMain(HINSTANCE hIns,HINSTANCE hPrev,LPSTR szCmd,int nShow)
    选win32 application
      

  6.   

    再按Alt+F7,选Link项,在要连接的库中加上OpenGL32.lib Glu32.lib GLaux.lib
    中间用空格格开。
      

  7.   

    SlayerCarrier(狂暴杀手):
    兄的办法甚好。
    偶对兄的敬佩之情如滔滔江水,源源不绝。
    兄的名字很有讲究,弟大胆解释一下兄的名字的含义,看是否正确。
    Slayer乃韩国星际高手Slayer'box之简称,Carrier(航母)乃神族之
    终极武器。再看兄的名字----狂暴杀手,乃战将之名。故弟妄自揣之,
    兄定是一位星际高手。不知能否有缘一战。
    请兄进《请OpenGL和VC专家指点一下》这一提问区,弟要给兄加分。
      

  8.   

    《请OpenGL和VC专家指点一下》有这个提问区吗??
    在哪儿啊?
      

  9.   

    《请OpenGL和VC专家指点一下》是我问题的名称,可能不应该叫提问区,
    请兔子见谅。