I am trying to compile this test program from glfw's docs:
//test.c#include <GLFW/glfw3.h>int main(void){ GLFWwindow* window; /* Initialize the library */ if (!glfwInit()) return -1; /* Create a windowed mode window and its OpenGL context */ window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } /* Make the window's context current */ glfwMakeContextCurrent(window); /* Loop until the user closes the window */ while (!glfwWindowShouldClose(window)) { /* Render here */ glClear(GL_COLOR_BUFFER_BIT); /* Swap front and back buffers */ glfwSwapBuffers(window); /* Poll for and process events */ glfwPollEvents(); } glfwTerminate(); return 0;}
However when I attempt to compile it, I am given this list of errors:
//usr/local/lib/libglfw3.a(monitor.c.o): In function `glfwSetGamma':monitor.c:(.text+0x1597): undefined reference to `pow'//usr/local/lib/libglfw3.a(x11_init.c.o): In function `_glfwCreateCursor':x11_init.c:(.text+0x11a): undefined reference to `XcursorImageCreate'x11_init.c:(.text+0x190): undefined reference to `XcursorImageLoadCursor'x11_init.c:(.text+0x19b): undefined reference to `XcursorImageDestroy'//usr/local/lib/libglfw3.a(x11_init.c.o): In function `_glfwPlatformInit':x11_init.c:(.text+0x317): undefined reference to `XF86VidModeQueryExtension'x11_init.c:(.text+0x3d3): undefined reference to `XineramaQueryExtension'x11_init.c:(.text+0xfad): undefined reference to `XineramaIsActive'//usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetMonitors':x11_monitor.c:(.text+0x3ea): undefined reference to `XineramaQueryScreens'//usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetGammaRamp':x11_monitor.c:(.text+0xdf4): undefined reference to `XF86VidModeGetGammaRampSize'x11_monitor.c:(.text+0xe21): undefined reference to `XF86VidModeGetGammaRamp'//usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformSetGammaRamp':x11_monitor.c:(.text+0xf48): undefined reference to `XF86VidModeSetGammaRamp'collect2: error: ld returned 1 exit status
Here's the command line input I used:
gcc test.c -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi -ldl -o test
My glfw library was compiled from source using cmake.
I have been stuck on this issue for the past few days, so some help will be appreciated.