【问题标题】:GLFW3 failing to link properly with Netbeans 8.1GLFW3 无法与 Netbeans 8.1 正确链接
【发布时间】:2015-11-28 12:57:13
【问题描述】:

我在 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 库不起作用?

编辑 3:我更改了 makefile,以便它使用链接选项中的选项进行构建。我收到了一个新错误: http://pastebin.com/aHuZ1jsg 一定是少了X-东西……

EDIT 4(最后一个)请看下面的答案!!!

【问题讨论】:

  • 尝试添加:-lglfw -lGL -lGLU
  • 我已经有了。按照确切的顺序。
  • 它们不在传递给g++的选项列表中,所以可能它们没有输入到正确的字段中。看到这个:stackoverflow.com/questions/15040303/…
  • 我只是在一个又一个错误之后不断地出错......事情就是这样:我得到了第一个错误。我在尝试修复该错误时遇到错误。我在尝试修复错误以修复原始错误时遇到错误。此外,请阅读帖子中的 [EDITS] 以获取任何更新。感谢您提供帮助。
  • @MisaLazovic 在建议编辑时,请尝试尽可能多地改进帖子,而不仅仅是添加/删除标签stackoverflow.com/help/privileges/edit

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


【解决方案1】:

我找到了解决方案……当然,只有在我发布问题之后才发现,哈哈。

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

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

然后我找到了

Requires.private:  x11 xrandr xinerama xi xxf86vm xcursor gl

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

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

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2014-05-06
    • 1970-01-01
    • 2013-01-23
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    相关资源
    最近更新 更多