4

最近我开始学习 OpenGL 和;反过来,开始阅读OpenGL SuperBible 6th edition,它使用了OpenGL 4.3。

我的问题出在 sb6.h 头文件中,因为在书中写到这是一个 c++ 头文件,它定义了一个名为 sb6 的命名空间,其中包括应用程序类的声明。

当我尝试编译我的程序时,我的 C++ IDE(Visual Studio 2010) 会抛出一个错误,指出找不到这样的头文件。

所以也许你们当中有人听说过这个问题,或者也开始阅读这本书并且知道如何解决这个问题;如果是,请回复。

#include "sb6.h"

//derive my_application from sb6:application

class my_application : public sb6.application
{
public : 

   //Rendering function
   void render(double currentTime){

   //Simply clear the window red
   static const GLfloat red[] = {1.0f , 0.0f , 0.0f , 1.0f};

  glClearBufferfv(GL_COLOR, 0 , red) ; 
}
4

1 回答 1

9

您要查找的 sb6.h 文件位于: https ://github.com/openglsuperbible/sb6code/blob/master/include/sb6.h 您还可以浏览该项目并查看源代码的其余部分/检索您需要的任何其他文件。当您将它们复制到本地驱动器/目录时,请确保将包含标头的新目录的路径添加到您的包含路径和任何库到 lib 路径等,否则您仍然会遇到相同的错误。

好吧,除非您将它们直接添加到项目目录中(不推荐,因为您最终会在所有 gl 项目中大量重复内容,最好将它们放在一个位置并添加路径)如果您需要,请告诉我手与定义路径。

额外的:

要包含头文件、库等,只需执行以下操作:

下载所有 sb6 项目,然后保存在某个地方(例如c:\sb6\)然后,转到Property Pages -> VC++ Directories -> Include Directories 并在此处添加c:\sb6\include\路径, 头文件 然后您将要通过:将库添加 Property Pages -> VC++ Directories -> Library Directories到此处: 库文件 最后通过: Property Pages -> VC++ Directories -> Source Directories 此处添加您的源代码目录: 源文件

修复错误 LNK2019:函数 ___tmainCRTStartup 中引用的未解析的外部符号 _main

这通常是一个链接器问题,最常见的原因是选择了错误的项目类型(即选择了 Windows 程序项目而不是 Windows 控制台项目)。可以通过执行以下操作来修复它:

转到Project -> Properties -> Configuration Properties -> Linker -> System并在条目上将其Subsystem更改为Console

此处显示: 将子系统更改为控制台

让我知道您的进展情况,如果需要,我可以扩展。

于 2013-11-05T13:20:54.777 回答