0

我在 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(最后一个)见下面的答案!!!

4

1 回答 1

0

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

我看到了这个页面,然后输入了这个命令:

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

然后我发现

Requires.private:  x11 xrandr xinerama xi xxf86vm xcursor gl

我在 makefile 中添加了之前没有的选项,它起作用了!最后!错误的折磨结束了!!

无论如何,希望它也可以帮助其他人!

于 2015-11-28T13:54:29.200 回答