我有一個簡單的控制檯應用程序,旨在從更大的項目中鍛鍊庫。控制檯應用程序是XCode項目中的一個目標,它也包含庫(以及其他一些目前我不關心的目標)。控制檯目標通過將其列入「構建階段」「目標依賴項」和「與庫鏈接二進制文件」中來引用該庫。如何在xcode之外運行objective-c控制檯應用程序(使用庫)?
我可以通過單擊「運行」按鈕並檢查「所有輸出」下的控制檯輸出,在XCode內運行控制檯程序。
但是,如果我嘗試在XCode之外運行,則會出現加載錯誤。我在項目導航器的「產品」下選擇控制檯應用程序,然後在信息面板的「標識」部分找到「完整路徑」。當我這個路徑複製到終端窗口,並運行它,我得到這樣一個錯誤:
dyld: Library not loaded:
@executable_path/../Frameworks/[LIBRARY].framework/Versions/A/[LIBRARY]
Referenced from: [THE PATH THAT I TYPED]
Reason: image not found
我應該怎麼做不同的讓我的控制檯應用程序從控制檯執行? (請注意,在「複製文件」階段,我已經嘗試將「子路徑」留空並將其設置爲「@executable_path /../ Frameworks」,每this answer,這是關於一個可可應用程序,但都不是這樣)
你可以在捆綁中找到框架嗎?也許你需要一個複製框架階段 –
@xlc - 唉,我甚至不知道這意味着什麼。我來自GCC/MSVC背景,在那裏編譯它並運行它,然後才考慮附加一個調試器,所以我很奇怪它在環境中運行,但不在其外部。我會明天在谷歌上看到你的話,看看他們在哪裏帶領我! – Eric
它在msvc世界中缺少DLL問題。找到'executable_path'的位置,並檢查該文件是否存在'executable_path /../ Frameworks/[LIBRARY] .framework/Versions/A/[LIBRARY]' –