我正在尝试编译以下内容
#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/
找到(我认为)它应该。
有什么建议吗?
答案 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库。
继承人的伎俩
如果它仍然不起作用,这里有一些帮助我的指示。