在Mac下应用GLFW库的OpenGL编程,外部链接错误。_addJoystickElement in libglfw3.a(cocoa_joystick.o)

在Mac下应用GLFW库的OpenGL编程,外部链接错误。

我应用的系统:

Mac os Heigh Sierra 版本10.13.6
OpenGL版本 4.1
Xcode 版本9.4.1
GLFW版本 3.3.2

用Xcode创建空项目后,书写一个最简单的渲染代码,显示一个空屏幕的窗口。编译后总是外部链接错误。确实准确的添加了libglfw3.a的库。

具体错误代码举例如下:

Undefined symbols for architecture x86_64:

  "_CFArrayAppendValue", referenced from:

      _addJoystickElement in libglfw3.a(cocoa_joystick.o)

百度搜索后,查到别人的文章内容引用如下。

查看文件,cocoa_joystick.m中的CFArrayAppendValue,点进去之后看到是CoreFoundation.framework里的东西,
在tutorial01_first_window的Build Phases的右下角 add Build Phase 点开之后,然后点击Add Link Binary With Libraries。
然后点击加入CoreFoundation.framework
再编译还是出错,再加入Appkit.framework,IOKit.framework,CoreGraphics.framework类库.
再次编译,成功,可以运行啦.开始opengl-tutorial教程之旅.

由于都是我不太懂的Mac系统的东西,所以就原文摘录在这里,以后可以参考。
总之就是缺少Mac系统的相关库文件。
加载CoreFoundation.framework Appkit.framework,IOKit.framework,CoreGraphics.framework类库.
后编译运行能正常显示OpenGL的渲染。

参考文章地址:
https://blog.csdn.net/richard9006/article/details/19016581

你可能感兴趣的:(OpenGL,error,OpenGL,glfw,libglfw3.a)