OS 10.10 上 GLFW 的链接器错误
Linker error with GLFW on OS 10.10
我正在尝试编译以下内容
#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/
找到(我认为)应该如此。
有什么建议吗?
您还需要 link 使用 GLFW[3],例如,添加:
-L/opt/local/lib -lglfw3
如果您安装了 pkgconfig
端口,您还可以利用它:
clang `pkg-config glfw3 --cflags` test.c -o test \
`pkg-config glfw3 --static --libs`
如果你有:libglfw3.dylib
,而不是使用:libglfw3.a
,你可能不需要 --static
标志,但它没有坏处。
如果您正在使用 Xcode,则必须在 linking 二进制文件时添加 libglfw3.a 库。
这是诀窍
- 显示隐藏文件夹。将其粘贴到终端中:defaults write com.apple.finder AppleShowAllFiles YES
- 重新启动 finder window 并导航到 Macintosh HD\usr
- 将usr文件夹拖到终端"Favorites"一侧
- 在 xcode 中,单击向 link 二进制文件添加“+”,然后单击 "Add Other"
- 导航到 libglfw3.a 并添加它!
如果还是不行,这里有一些对我有帮助的说明。
我正在尝试编译以下内容
#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/
找到(我认为)应该如此。
有什么建议吗?
您还需要 link 使用 GLFW[3],例如,添加:
-L/opt/local/lib -lglfw3
如果您安装了 pkgconfig
端口,您还可以利用它:
clang `pkg-config glfw3 --cflags` test.c -o test \
`pkg-config glfw3 --static --libs`
如果你有:libglfw3.dylib
,而不是使用:libglfw3.a
,你可能不需要 --static
标志,但它没有坏处。
如果您正在使用 Xcode,则必须在 linking 二进制文件时添加 libglfw3.a 库。
这是诀窍
- 显示隐藏文件夹。将其粘贴到终端中:defaults write com.apple.finder AppleShowAllFiles YES
- 重新启动 finder window 并导航到 Macintosh HD\usr
- 将usr文件夹拖到终端"Favorites"一侧
- 在 xcode 中,单击向 link 二进制文件添加“+”,然后单击 "Add Other"
- 导航到 libglfw3.a 并添加它!
如果还是不行,这里有一些对我有帮助的说明。