天天看點

在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

繼續閱讀