Возникли проблемы с настройкой проекта красной книги OpenGL.C++

Программы на C++. Форум разработчиков
Anonymous
 Возникли проблемы с настройкой проекта красной книги OpenGL.

Сообщение Anonymous »

Я попытался загрузить примеры для Руководства по программированию OpenGL: Официальное руководство по изучению OpenGL, версия 4.5 с помощью SPIR-V, а также попытался импортировать библиотеку и включить файлы в свое решение Visual Studio, поэтому что я могу создавать приложения OpenGL с тем же файлом, который использовал автор, но продолжаю получать эти ошибки:

Код: Выделить всё

LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
GLProgram.obj : error LNK2019: unresolved external symbol gl3wInit referenced in function main
GLProgram.obj : error LNK2019: unresolved external symbol LoadShaders referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
GLProgram.obj : error LNK2001: unresolved external symbol gl3wDrawArrays
GLProgram.obj : error LNK2001: unresolved external symbol gl3wBindBuffer
GLProgram.obj : error LNK2001: unresolved external symbol gl3wEnableVertexAttribArray
GLProgram.obj : error LNK2001: unresolved external symbol gl3wUseProgram
GLProgram.obj : error LNK2001: unresolved external symbol gl3wVertexAttribPointer
GLProgram.obj : error LNK2001: unresolved external symbol gl3wClearBufferfv
GLProgram.obj : error LNK2001: unresolved external symbol gl3wBindVertexArray
GLProgram.obj : error LNK2001: unresolved external symbol gl3wGenVertexArrays
GLProgram.obj : error LNK2001: unresolved external symbol gl3wBufferStorage
GLProgram.obj : error LNK2001: unresolved external symbol gl3wCreateBuffers
C:\Users\saada\Desktop\Visual Studio Projects\OpenGL Programming Guide\OpenGL\OpenGL SPIR-V\x64\Debug\OpenGL SPIR-V.exe : fatal error LNK1120: 12 unresolved externals
Я установил папки include и lib из загружаемых примеров в качестве каталогов include для моего проекта, а затем загрузил файл glfw3.lib и связал его, но Похоже, мне что-то не хватает для gl3w. Как исправить, мне не хватает какого-то файла .lib? Вот мой код на всякий случай:

Код: Выделить всё

#include 
#include 

#define BUFFER_OFFSET(a) ((void*)(a))

enum VAO_IDs { Triangles, NumVAOs };
enum Buffer_IDs { ArrayBuffer, NumBuffers };
enum Attrib_IDs { vPosition = 0 };

GLuint  VAOs[NumVAOs];
GLuint  Buffers[NumBuffers];

const GLuint  NumVertices = 6;

//----------------------------------------------------------------------------
//
// init
//

void
init(void)
{
glGenVertexArrays(NumVAOs, VAOs);
glBindVertexArray(VAOs[Triangles]);

GLfloat  vertices[NumVertices][2] = {
{ -0.90f, -0.90f }, {  0.85f, -0.90f }, { -0.90f,  0.85f },  // Triangle 1
{  0.90f, -0.85f }, {  0.90f,  0.90f }, { -0.85f,  0.90f }   // Triangle 2
};

glCreateBuffers(NumBuffers, Buffers);
glBindBuffer(GL_ARRAY_BUFFER, Buffers[ArrayBuffer]);
glBufferStorage(GL_ARRAY_BUFFER, sizeof(vertices), vertices, 0);

ShaderInfo  shaders[] =
{
{ GL_VERTEX_SHADER, "media/shaders/triangles/triangles.vert" },
{ GL_FRAGMENT_SHADER, "media/shaders/triangles/triangles.frag" },
{ GL_NONE, NULL }
};

GLuint program = LoadShaders(shaders);
glUseProgram(program);

glVertexAttribPointer(vPosition, 2, GL_FLOAT,
GL_FALSE, 0, BUFFER_OFFSET(0));
glEnableVertexAttribArray(vPosition);
}

//----------------------------------------------------------------------------
//
// display
//

void
display(void)
{
static const float black[] = { 0.0f, 0.0f, 0.0f, 0.0f };

glClearBufferfv(GL_COLOR, 0, black);

glBindVertexArray(VAOs[Triangles]);
glDrawArrays(GL_TRIANGLES, 0, NumVertices);
}

//----------------------------------------------------------------------------
//
// main
//

int main(int argc, char** argv)
{
glfwInit();

GLFWwindow* window = glfwCreateWindow(800, 600, "Triangles", NULL, NULL);

glfwMakeContextCurrent(window);
gl3wInit();

init();

while (!glfwWindowShouldClose(window))
{
display();
glfwSwapBuffers(window);
glfwPollEvents();
}

glfwDestroyWindow(window);

glfwTerminate();
}
Заранее спасибо.

ОБНОВЛЕНИЕ:
Я нашел решение не только использовать папку моей библиотеки в качестве каталога включения, но также включить эту папку в сам проект.

Подробнее здесь: https://stackoverflow.com/questions/606 ... ok-project

Вернуться в «C++»