最近,我开始学习OpenGL,并且;反过来,开始阅读使用OpenGL 4.3的OpenGL SuperBible 6th版。
我的问题在sb6.h头文件中,因为在书中写道,这是一个c++头文件,它定义了一个名为sb6的 namespace ,其中包括应用程序类的声明。
当我尝试编译程序时,我的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 的新目录的路径添加到include路径,并将任何lib添加到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
如图所示:
让我知道您的生活,如果需要,我可以扩大。