最近我开始学习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) ;
}
答案 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\
路径
然后你会想通过以下方式添加库:
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
此处显示:
让我知道你如何继续,如果需要我可以扩展。