OpenGL SuperBible第6版,头文件sb6.h缺失

时间:2013-11-05 13:14:52

标签: c++ opengl opengl-4

最近我开始学习OpenGL和;反过来,开始阅读使用OpenGL 4.3的OpenGL SuperBible第6版。

我的问题出现在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) ; 
}

1 个答案:

答案 0 :(得分:9)

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

好吧,除非你直接将它们添加到项目目录(不推荐,因为你最终会在所有gl项目中大量重复内容,最好将它们放在一个位置并添加路径)让我知道是否你需要一只手来定义路径。

其他

要包含标题,库等,只需执行以下操作:

下载所有sb6项目,然后保存到某处(例如c:\sb6\) 然后,转到Property Pages -> VC++ Directories -> Include Directories 并在此处添加c:\sb6\include\路径 header files 然后你会想通过以下方式添加库: Property Pages -> VC++ Directories -> Library Directories到这里: lib files 最后通过以下方式添加源代码目录: Property Pages -> VC++ Directories -> Source Directories  这里: source files

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

这通常是链接器问题,并且通常是从选择的错误项目类型(即选择Windows程序项目而不是Windows控制台项目)中发生的。可以通过执行以下操作来解决此问题:

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

此处显示: Change subsystem to console

让我知道你如何继续,如果需要我可以扩展。