GLFW3 无法使用 Netbeans 8.1 正确 link
GLFW3 failing to link properly with Netbeans 8.1
我在 Whosebug 或其他方面查看了大约 20 个不同的页面,其中 none 对我有所帮助。我已经 link 编辑了项目的属性,但是项目在编译时显示
/home/(username)/NetBeansProjects/testGame_cpp/main.cpp:24: undefined reference to `glfwInit'
这真的很烦人,而且,我注意到当我设置 link 选项时,它们不会出现在运行以构建项目的命令中:
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;
}
EDIT:此外,如果我注释掉 if() 语句,那么它会使用
进行编译
BUILD SUCCESSSFUL (total time: 259ms)
编辑 2:我不相信我正确安装了 GLFW...我下载了它,用 CMake 构建它,它成功了。我在终端输入:
su
Password: (password)
make
这是输出:
http://pastebin.com/WMVGRAWp
显然它有效...但为什么 glfw 库不起作用?
编辑 3:我更改了 makefile,以便它使用 linking 选项中的选项构建。我收到一个新错误:
http://pastebin.com/aHuZ1jsg
一定是少了 X- 东西...
编辑 4(最后一个):请参阅下面的答案!!!
我找到了解决方案...当然是在我 post 问题之后,哈哈。
我看到了 this 页面,并输入了这个命令:
sudo find / | grep "glfw3\.pc"
cat /usr/local/lib/pkgconfig/glfw3.pc
然后我发现
Requires.private: x11 xrandr xinerama xi xxf86vm xcursor gl
我在 makefile 中添加了以前没有的选项,它起作用了!最后! 错误的折磨结束了!!
总之,希望对其他人也有帮助!!
我在 Whosebug 或其他方面查看了大约 20 个不同的页面,其中 none 对我有所帮助。我已经 link 编辑了项目的属性,但是项目在编译时显示
/home/(username)/NetBeansProjects/testGame_cpp/main.cpp:24: undefined reference to `glfwInit'
这真的很烦人,而且,我注意到当我设置 link 选项时,它们不会出现在运行以构建项目的命令中:
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;
}
EDIT:此外,如果我注释掉 if() 语句,那么它会使用
进行编译BUILD SUCCESSSFUL (total time: 259ms)
编辑 2:我不相信我正确安装了 GLFW...我下载了它,用 CMake 构建它,它成功了。我在终端输入:
su
Password: (password)
make
这是输出: http://pastebin.com/WMVGRAWp
显然它有效...但为什么 glfw 库不起作用?
编辑 3:我更改了 makefile,以便它使用 linking 选项中的选项构建。我收到一个新错误: http://pastebin.com/aHuZ1jsg 一定是少了 X- 东西...
编辑 4(最后一个):请参阅下面的答案!!!
我找到了解决方案...当然是在我 post 问题之后,哈哈。
我看到了 this 页面,并输入了这个命令:
sudo find / | grep "glfw3\.pc"
cat /usr/local/lib/pkgconfig/glfw3.pc
然后我发现
Requires.private: x11 xrandr xinerama xi xxf86vm xcursor gl
我在 makefile 中添加了以前没有的选项,它起作用了!最后! 错误的折磨结束了!!
总之,希望对其他人也有帮助!!