我試圖將SDL和SDL_ttf框架添加到我的應用程序中,並按照常規方式完成:將它們添加到「鏈接二進制文件庫」部分中,並添加了一個複製文件階段將其複製到Frameworks目錄。這確實創建了一個嵌入式框架的應用程序包。然而,當我運行應用程序,我得到這個錯誤:將框架嵌入到Mac應用程序包中
dyld: Library not loaded: @rpath/SDL_ttf.framework/Versions/A/SDL_ttf Referenced from: /Users/matthew.davies/Library/Developer/Xcode/DerivedData/MacHub-ambfqujqxbxyiqapaoctvsucpdeu/Build/Products/Release/MacHub.app/Contents/MacOS/MacHub Reason: image not found
我不知道自己還能做什麼,這樣應用程序可以儘管被嵌入其捆綁找到框架。
有什麼想法嗎?
如果按照Apple建議的方式構建內容,它最終將首先尋找'@loader_path /../ Frameworks/SDL.framework',因此您不需要在搜索路徑中使用它。這是一個更安全的解決方案,因爲它可以保證您的應用程序不會最終鏈接到錯誤版本的框架。如果你不按照他們推薦的方式來做事......那麼,你必須學習各種低級細節。 (你可能真的想要的是'install_name_tool',但是你發現自己不知道的可能性很小......) – abarnert
這裏真正的問題在於蘋果對於非常簡單的「入門」使用有很好的文檔的框架,以及低層次的細節介紹它是如何工作的,但在兩者之間沒有太多... – abarnert
在我的項目中,可執行文件正在拾取框架的/ Library/Frameworks和應用程序內容/框架副本,以及警告說圖書館的選擇是不確定的(實際上,SDL_Mixer在這個配置中不起作用)。這個技巧也解決了這個問題。 – Justin