GLFW3无法与Netbeans 8.1正确链接

时间:2015-11-28 12:57:14

标签: c++ netbeans linker glfw netbeans-8.1

我已经在stackoverflow或其他方面查看了大约20个不同的页面,但没有一个帮助过我。我已经链接了项目的属性,但项目在编译时说

/home/(username)/NetBeansProjects/testGame_cpp/main.cpp:24: undefined reference to `glfwInit'

这真的很烦人,而且,我注意到当我设置链接选项时,它们不会出现在构建项目的命令中:

g++ -g -m64 -o testGame main.cpp -L/usr/lib/x86_64-linux-gnu -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic

请帮助,这是在鼓动!! ;(

以下是项目的所有内容(main.cpp):

/* 
* File:   main.cpp
* Author: toriyamo
*
* Created on November 27, 2015, 5:34 PM
*/

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

#include <GL/glew.h>
#include <GLFW/glfw3.h>

using namespace std;

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

    if (!glfwInit()) {
        fprintf(stderr, "**Failed to initialize glfw3!!**\n");
    }

    return 0;
}

编辑:另外,如果我注释掉if()语句,那么它会用

编译
BUILD SUCCESSSFUL (total time: 259ms)

编辑2 :我不相信我正确安装了GLFW ...我下载了它,用CMake构建它,并且它成功了。我输入了一个终端:

su
Password: (password)
make

这是输出: http://pastebin.com/WMVGRAWp

显然它有效......但是为什么glfw lib不会起作用呢?

编辑3 :我更改了makefile,以便使用链接选项中的选项进行构建。我收到了一个新错误: http://pastebin.com/aHuZ1jsg 必须缺少X-某事......

编辑4(最后一个) 请参阅下面的答案!!!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案...当然只有在我发布问题后才会发现。

我看到了this页面,并输入了以下命令:

sudo find / | grep "glfw3\.pc"
cat /usr/local/lib/pkgconfig/glfw3.pc 

然后我找到了

Requires.private:  x11 xrandr xinerama xi xxf86vm xcursor gl

我在makefile中添加了之前没有的选项,并且它有效!最后! 错误 的折磨已经结束!!

无论如何,希望它也有助于其他人!!