Недавно я начал изучать 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) ;
}
искомый файл 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: неразрешенный внешний символ _main указан в функции ___tmainCRTStartup
Обычно это проблема компоновщика, и чаще всего это происходит из-за того, что выбран неправильный тип проекта (т. Е. Выбирается проект программы Windows, а не проект консоли Windows). Это можно исправить, выполнив следующие действия:
Идти к Project -> Properties -> Configuration Properties -> Linker -> System
и на входе для Subsystem
измените это на Console
Показанный здесь:
Дайте мне знать, как вы поживаете, и я могу расширяться, если это необходимо.
Других решений пока нет …