Току-що завърших инсталирането на GLFW за C++, за да работя с OpenGL, и когато стартирам следния код:
#include <stdlib.h>
#include <GL/glfw.h>
int main(int argc, char *argv[])
{
int running = GL_TRUE;
if (!glfwInit())
exit(EXIT_FAILURE);
if (!glfwOpenWindow(300, 300, 0, 0, 0, 0, 0, 0, GLFW_WINDOW))
{
glfwTerminate();
exit(EXIT_FAILURE);
}
while (running)
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(rand() % 255 + 1, rand() % 255 + 1, rand() % 255 + 1, 0);
glfwSwapBuffers();
running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
}
glfwTerminate();
exit(EXIT_SUCCESS);
}
, извежда следната грешка:
Error:
build/Debug/MinGW-Windows/main.o: In function `main':
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:8: undefined reference to `glfwInit'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:11: undefined reference to `glfwOpenWindow'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:13: undefined reference to `glfwTerminate'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:22: undefined reference to `glfwSwapBuffers'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:24: undefined reference to `glfwGetKey'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:24: undefined reference to `glfwGetWindowParam'
C:\Users\User\Dropbox\NetBeans Workspace\OpenGL_Testing/main.cpp:27: undefined reference to `glfwTerminate'
И да, свързах opengl32.lib в моя проект.
mingw
libs - това е точно това, което първият отговор във въпроса, към който свързах (hint hint), обяснява подробно (libglfw.a и libglfwdll.a). Ще ви трябва и библиотека opengl32, която работи с minGW, но предполагам, че вече сте се погрижили за това?! - person us2012   schedule 09.02.2013