c++ - OpenGL SuperBible 第 6 版,缺少头文件 sb6.h

标签 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) ; 
}

最佳答案

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

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

附加:

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

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

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

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

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

此处显示: Change subsystem to console

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

关于c++ - OpenGL SuperBible 第 6 版,缺少头文件 sb6.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789874/

相关文章:

c++ - 从 VS2013 到 VS2017 std::async 不启动新线程

java - LWJGL 顶点着色器 gl_PointSize 不工作

Delphi - GLScene - 根据图像调整 Sprite 大小

c++ - 如何将 OpenGL 中的事物缩放到实际大小?

c++ - 现代 Opengl 的 2D 形状坐标

c++ - OpenGL 4.2 glBindAttribLocation 无效值?

c++ - 两个相关的类层次结构——覆盖虚函数

c++ - 有一个返回 int 的函数,如何使用 boost 在单独的线程中运行它?

opengl - 如何避免现代 GPU 上三角形之间出现黑线?

c++ - 寻找关于指针使用差异的一些确认