OS 10.10上与GLFW的链接器错误

时间:2015-01-22 21:35:35

标签: opengl glfw

我正在尝试编译以下内容

#include <GLFW/glfw3.h>

int main()
{
    glfwInit();
    return 0;
}

只是为了验证我的GLFW安装是否正常。我用

终端
clang++ -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -I/opt/local/include/ test.c

但是我收到了glfwInit函数的链接器错误:

Undefined symbols for architecture x86_64:
  "_glfwInit", referenced from:
      _main in test-d8c21e.o
ld: symbol(s) not found for architecture x86_64

我已经使用sudo port install glfw安装了glfw,并按照我发现的每个可能的教程进行了操作。我可以验证libglfw.dylib文件可以在/opt/local/lib/找到(我认为)它应该。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您还需要链接GLFW [3],例如,添加: -L/opt/local/lib -lglfw3

如果安装了pkgconfig端口,您还可以利用以下功能:

clang `pkg-config glfw3 --cflags` test.c -o test \
`pkg-config glfw3 --static --libs`

如果您有--static,则可能不需要libglfw3.dylib标记,而不是使用:libglfw3.a,但它不会受到伤害。

答案 1 :(得分:1)

如果您使用的是Xcode,则必须在链接二进制文件时添加libglfw3.a库。

继承人的伎俩

  1. 显示隐藏文件夹。将其粘贴到终端:默认写入com.apple.finder AppleShowAllFiles YES
  2. 重新启动取景器窗口并导航至Macintosh HD \ usr
  3. 将usr文件夹拖到终端
  4. 中的“收藏夹”侧
  5. 在xcode中,点击添加“+”链接二进制文件,然后点击“添加其他”
  6. 导航到libglfw3.a并添加它!
  7. 如果它仍然不起作用,这里有一些帮助我的指示。

    https://engineering-game-dev.com/2013/08/14/glfw-compiling-source-and-creating-an-xcode-project/comment-page-1/#comment-1400