我正在使用Mac應用程序,該應用程序在我的作爲開發計算機的計算機上運行良好。 該項目有相當多的dylib文件,這我不得不使用Mac OS X存檔(.app)在測試Mac機器時墜毀:EXC_BAD_INSTRUCTION
install_name_tool -change
我在上面的命令中使用@executable_path解決依賴關係。這樣做後,該程序在我的機器上工作得很好,當我移動.app文件來測試失敗的環境..
墜毀主題:0調度隊列:com.apple.main線程
異常類型:EXC_BAD_INSTRUCTION(SIGILL) 異常代碼:0x0000000000000001,0x0000000000000000
線程0墜毀::調度隊列:com.apple.main線程
0 libfreetype.6.dylib 0x001f736b FT_CMap_New + 105
1 libfreet ype.6.dylib 0x0022d1a4 tt_face_build_cmaps + 516
2 libfreetype.6.dylib 0x00229f0a sfnt_load_face + 1424
3 libfreetype.6.dylib 0x00200cbe tt_face_init + 231
4 libfreetype.6.dylib 0x001f5fb4 open_face + 218
5 libfreetype.6.dylib 0x001f5bf1 FT_Open_Face + 528
6 libfreetype.6.dylib 0x001f59db FT_New_Face + 68
查看粗體字符可以發現問題出在freetype dylib中。但爲什麼會出現問題?我已將.dylib文件包含在my_app.app/Contents/Frameworks/
目錄中。
這就是爲什麼問題引起的原因?