在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