Linux Mint Eclipse GLFW 3安装问题

时间:2014-11-28 18:42:10

标签: c linux eclipse glfw

在我看来,我已经正确安装和配置了GLFW 3, 我的编译器告诉我。

glfw3.h和glfw3native.h位于urs / local / include / GLFW /.

libglfw3.a位于urs / local / lib /.

在Eclipse中,我在Project Propreties中配置 - > C / C ++ Build-> Settings-> GCC C Linker-> Libraries以下值:GL,GLU,m,rt,pthread,m,glfw3, X11,Xxf86vm,Xrandr和Xi。

在我的项目中,在Test.c中我有以下测试代码:

/*
 ============================================================================
 Name        : Test.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 ============================================================================
*/
#include <GLFW/glfw3.h>

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */

     if (!glfwInit())
         exit(EXIT_FAILURE);

    return EXIT_SUCCESS;
}

所以在我看来,我在互联网上看到的内容,似乎是一个不错的设置。 当我编译它时它给出了这个:

/usr/local/lib/libglfw3.a(window.c.o): In function `glfwCreateWindow':
window.c:(.text+0x724): undefined reference to `glClear'
//usr/local/lib/libglfw3.a(glx_context.c.o): In function `getFBConfigAttrib':
glx_context.c:(.text+0x4d): undefined reference to `glXGetFBConfigAttrib'
//usr/local/lib/libglfw3.a(glx_context.c.o): In function `chooseFBConfig':
glx_context.c:(.text+0x7a): undefined reference to `glXGetClientString'
glx_context.c:(.text+0xe5): undefined reference to `glXGetFBConfigs'
//usr/local/lib/libglfw3.a(glx_context.c.o): In function `createLegacyContext':
glx_context.c:(.text+0x41f): undefined reference to `glXCreateNewContext'

读到这个我得出结论,它没有找到OpenGL,但我之前已经制作了OpenGL项目并且它有效,那么为什么GLFW可以找到它呢? 感谢。

1 个答案:

答案 0 :(得分:0)

经过一番徘徊并祈祷这个问题消失了几个小时和几天。我找到了解决方案......我并不完全理解为什么链接如此困难。

我所做的只是尝试不同的链接库选项, 这个订单对我有用:

-lglfw3 -lGL -lGLU -lX11 -Xxf86vm -lXrandr -lpthread -lXi -lm

希望这有助于其他人。