在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的渲染。