C++ Visual Studio 2012-在单独的文件中使用OpenGL(GLU、GLUT)删除函数

C++ Visual Studio 2012-在单独的文件中使用OpenGL(GLU、GLUT)删除函数,c++,oop,opengl,visual-studio-2012,project,C++,Oop,Opengl,Visual Studio 2012,Project,为了方便起见,我需要使用OpenGL的标准方法在一个单独的文件中移动一些函数。例如,我有: void moveCamera( float pp1, float pp2, float pp3, float pp4, float eX, float eY, float eZ) { glMatrixMode (GL_PROJECTION); glLoadIdentity(); gluPerspective(pp1, pp2, pp3, pp4); glMatrixMod

为了方便起见,我需要使用OpenGL的标准方法在一个单独的文件中移动一些函数。例如,我有:

void moveCamera( float pp1, float pp2, float pp3, float pp4, float eX, float eY, float eZ)
{
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(pp1, pp2, pp3, pp4);
    glMatrixMode (GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt (eX, eY, eZ, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
}
我了解到项目的所有.cpp文件(至少包括在解决方案VS中)都是相互关联的(如果我误解了,请纠正我),即主文件(包含main()/_tmain())应该看到其余文件并自动包含在程序代码中。对吧?

然而,如果我试图制定计划,只是在解决方案中创建一个文件,其中包含所有这些功能,那么它会说OpenGL的功能尚未定义

UPD。在尝试应用我在这里得到的建议后,我得到了以下图片:


看来我做错了什么。但是具体是什么呢?

您应该在另一个文件中包含opengl头文件。

每个.cpp文件都应该有它的头文件(.h),您可以在其中定义它的函数。在.cpp中,您声明它们(您写下它们的确切用途)

我(作为一个初学者)阅读了该项目的所有.cpp文件(至少 包含在解决方案VS中),相互关联(如果需要,请更正我 我误解了),即主文件(包含main()的文件)/ _tmain())应该看到其余部分并自动包含在程序代码中

为了使.cpp文件彼此可见,您应该在顶部包含所需.cpp的.h头文件。否则,默认情况下他们不会看到对方! 您还应该在每个.cpp中包含所需的所有其他库

这里应该包括OPENGL库


如果我不清楚,请再问我一次

谢谢你的建议,很抱歉这么晚才发表评论。我曾尝试使用你的解决方案,但仍然有困难。请看我今天的问题附带的插图。inside funx.cpp add#include我认为应该可以