我有一个简单的控制台应用程序,旨在从更大的项目中锻炼库。控制台应用程序是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]' –