2014-11-22 84 views
1

我有一個跨平臺編程的初學者。 我的項目是一個簡單的3D項目,它適用於windows,它是由vistual sutido 2013.and然後,我創建項目下xcode 6。在xcode 6中使用動態庫有錯誤:庫未加載:/usr/local/lib/xxx.dylib原因:圖像未找到

有一個核心庫在我的項目中,我編譯它爲一個在windows下的dll文件,並且通過一個名爲Editorbuilder的工具來靜態鏈接它,這個工具用於構建編輯器腳本。 Core.vcxproj的Core項目在ProjectRoot/Binaries/Win32/Debug /下生成Core.dll。 EditorBuilder.vcxproj在ProjectRoot/Binaries/Win32/Debug下生成EditorBuilder.exe。如果我在Visual Studio或控制檯窗口中運行此工具,它運行良好。

在macos下,我用xcode 6. 首先我創建了一個動態庫項目,它有一個產品libCore.dylib,它會生成ProjectRoot/Binaries/Mac/Debug。然後我創建的xcode 6 EditorBuilder項目是正常的命令行工具和libCore.dylib的引用添加到產品:

the picture of projects 生成的項目

the files is generated success 的文件中的圖像成功

它編譯成功,效果很好,如果我下調試Xcode6 EditorBuilder使用Ctrl + R. 但是當我運行在終端EditorBuilder或雙擊它,它無法啓動,因爲這樣的:

/Users/bodong/Documents/Hikari/Binaries/Mac/Debug/EditorBuilder ; exit; 
bodeMacBook-Pro:~ bodong$ /Users/bodong/Documents/Hikari/Binaries/Mac/Debug/EditorBuilder ; exit; 
dyld: Library not loaded: /usr/local/lib/libCore.dylib 
    Referenced from: /Users/bodong/Documents/Hikari/Binaries/Mac/Debug/EditorBuilder 
    Reason: image not found 
Trace/BPT trap: 5 
logout 

所以我的問題是,libCore.dylib是在同一目錄中,爲什麼EditorBuilder進程無法找到dylib? 爲什麼EditorBuilder可以在Ctrl + R的xcode 6中運行時找到dylib?

windows dll和macos dylib有什麼區別? macos下的搜索策略是什麼?


PS: 如果我創建一個目錄/ usr/local/lib目錄,並libCore.dylib複製到該目錄,它工作得很好。 如何讓EditorBuilder載入與同一個父目錄的dylib。

回答

-1

在構建設置中有一個安裝目錄,將此目錄更改爲輸出目錄,它工作正常。 但我不知道我是否將這個應用程序部署到另一個mac,它應該運行良好嗎?

相關問題