无法使用Xcode 4构建 - 所选的运行目标对此操作无效

时间:2011-03-24 16:05:07

标签: cocoa xcode xcode4

所以我对此错误感到非常困惑,Stack Overflow上的其他线程提到我应该设置SDK,但我认为没有选择这样做。我正在尝试构建:http://wafflesoftware.net/shortcut/

我没有选择,我只能选择我的Mac 64位,我希望它在32位。真的开始讨厌Xcode 4。

以下是我尝试编辑计划时的屏幕截图:http://groovyape.com/scheme.png

思想?

12 个答案:

答案 0 :(得分:71)

首先,我观察到当Xcode 4判断我的Mac是64位且我的所有其他方案都已消失时,重新启动Xcode会修复它。

如果重启后仍有问题,请转到管理方案...(在产品菜单下),然后单击立即自动创建方案按钮。尝试删除其他方案,看看你现在是否可以运行该项目。

但是,如果问题是您需要设置SDK,那就不同了:

  1. 点击左侧面板中的顶级项目图标
  2. 在出现的右侧面板中,选择“构建设置”(靠近顶部)。
  3. 选择“全部”选项(而不是合并)
  4. 确保Base SDK已正确设置,例如“OS X 10.7”。
  5. FWIW我现在正在认真考虑恢复到Xcode 3.2.5,4看起来很可怕。

答案 1 :(得分:9)

xCode 4.4.1中,使用Validate Settings来解决问题!

我现在可以选择32bit64bit

答案 2 :(得分:6)

尝试使用XCode 4构建/运行我在XCode 3中创建的一个微小的Objective-C“Hello,World”项目时,进入相同的错误消息(“所选运行目标对此操作无效”)。 X。通过从“停止”按钮右侧的下拉菜单中选择“管理方案...”来修复它,删除列表中的一个方案(单击方案旁边的复选框,然后单击左下角的“ - ”按钮),然后单击“立即自动创建方案”。

我还需要将“Base SDK”从10.5更改为10.6,方法是单击“文件夹”图标(在“运行”按钮下方),单击其下方树视图的根/顶部,单击下面的蓝色图标右侧窗格中的“PROJECT”,最后选择右侧的“最新Mac OS X(Mac OS X 10.6)”。

答案 3 :(得分:4)

我今天遇到了这个问题。我发现将基本SDK 最新iOS(4.3)转换为 iOS 4.3 修复了所有内容。

答案 4 :(得分:2)

如果XCode认为你的mac是64位机器,那么这将会发生,而实际上它是32位的。如果是这种情况,只需单击最左侧窗格中的项目图标 - 这是显示项目名称旁边一个蓝色小图标的菜单项。这应该会打开一个中央窗格,顶部显示“PROJECT”。突出显示项目名称,第三个窗格现在应显示您的构建设置。第一项是“架构”,它允许您指定是构建32位还是64位应用程序。

答案 5 :(得分:2)

令人惊讶的是,这里的答案都没有解决我的问题,但我明白了。忘记重新启动Xcode,或使用自动创建方案,仍然只有64位将显示为方案中的有效目标。

正确的解决方案是更改项目的架构。转到Build Settings(在项目的根节点中),并将Architecture更改为32位Intel,它位于Base SDK设置之上。目的地将立即切换到“我的Mac 32位”。 HTH某人。

答案 6 :(得分:1)

听起来好像你正试图运行(Cmd-R或运行按钮)框架(你不能做 - 它不是可执行文件,只是一个库)而不是简单地构建它(Cmd-B)

答案 7 :(得分:1)

我有这个问题,也许这是巧合,但是当我重新启动XC4但是这次没有选择从启动时出现的弹出窗口加载我的项目 - 而是明确地从文件菜单 - 问题没有发生,构建开始正常。

在3或4次我遇到此错误时,我选择从XC4首次加载时出现的弹出窗口加载项目。

正如我所说,我可能很幸运,但我当然没有对项目进行任何其他修改以“解决”这个问题。

答案 8 :(得分:1)

我发现从Xcode 3.2.X迁移到Xcode 4的一个很好的做法是删除对旧SDK的任何引用(在Mac OS的情况下删除任何Base SDK Ref等,对于Mac OS< = 10.5,对于iOS,我认为你需要删除所有内容< = 4.3)升级到Xcode 4之前。

我从未遇到过在Xcode 4中创建的新项目的任何问题,仅限于使用Xcode 3.X或2.X创建的项目

答案 9 :(得分:1)

Xcode 4.5。我试图编译为10.6。它似乎被困在64位只是因为它无法找到sdk。我没有得到任何关于它没有找到sdk的消息。

我首先尝试将正确的路径放入/Developer-3.2.6/SDKs/MacOSX10.6.sdk,但xcode不想在那里找到它。然后我将该文件夹复制到另一个OSX平台sdk旁边的4.5(新的位置,我想只看一下)。

神奇的是我的32位回来了。

所以我的结论是32/64位选项实际上取决于xcode是否可以验证您尝试使用的sdk。在尝试编译为32时被困在64时会出现错误,而不会通知您第一个问题是无法找到sdk。

答案 10 :(得分:0)

我通过删除项目文件中的xcuserdata来修复此问题。不确定它是如何腐败的。但它对办公室里的其他人都有用,删除xcuserdata就可以了。我确保Xcode在关闭的同时关闭了。只是为了好玩,请确保删除应用程序的DerivedData文件夹,并为迷信人员进行构建清理。

答案 11 :(得分:0)

如果您在重命名应用后发生这种情况,请转到Schemes -> Edit Scheme -> Run <YourApp> -> Info 选择正确的可执行文件(YourApp.app)

另一种方法是选择None作为可执行文件,然后从YourApp.app文件夹中重新选择Debug-iPhoneOS