我已经在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(最后一个): 请参阅下面的答案!!!
答案 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中添加了之前没有的选项,并且它有效!最后! 错误 的折磨已经结束!!
无论如何,希望它也有助于其他人!!