【问题标题】:What is the meaning of exit code 3 from Rez?Rez的退出代码3是什么意思?
【发布时间】:2011-08-08 18:38:44
【问题描述】:

尝试运行 Rez 时,由于退出代码 3,OSX 10.6 上的 XCode 项目构建失败。这是什么意思?我确定文件存在并且所有路径都设置正确,并且具有有效的内容。谷歌和 AltaVista 什么都没有出现,但其他人也有同样的问题。

更一般地说,由于我有在 OSX 上创建错误的天赋,是否有 Rez 的所有可能退出代码的列表以及它们的含义?这些是所有 Apple 命令行程序中的标准吗?

更新: 这是 Rez 尝试编译的第一个 .r 文件,但以退出代码 3 停止:

// 关于框和资源在 PIUtilities.r 中创建。 // 如果愿意,您可以轻松地覆盖它们。 #define pluginName "HackFormat" #define plugInCopyrightYear “1957” #define 插件描述 \ “用于测试插件制作程序 (DSW) 的示例插件 SimpleFormat 的破解” // 字典 (aete) 资源: #define vendorName "DarenTheMonkey" #define plugInAETEComment "simpleformat 示例文件格式模块" #define pluginSuiteID 'sdK4' #define plugInClassID 'simP' #define plugInEventID typeNull // 必须是这个 #include "PIDefines.h" #include “类型.r” #include “SysTypes.r” #include “PIGeneral.r” #include “PIUtilities.r” #include “PITerminology.h” #include "PIActions.h" #include "HackFormatTerminology.h" // 插件术语。 //------------------------------------------------ ------------------------------------------- // PiPL 资源 //------------------------------------------------ ------------------------------------------- 资源“PiPL”(ResourceID,plugInName“PiPL”,可清除) { { 种类 { ImageFormat }, 名称{插件名称}, 版本 { (latestFormatVersion ", /* 必须是这个 */ keyInherits, /* 必须是 keyInherits */ classFormat, /* 父级:格式、导入、导出 */ "父类格式", /* 可选描述 */ flagsSingleProperty, /* 如果属性,在下面列出 */ “富”, keyMyFoo, 类型布尔值, “富吧”, 标志SingleProperty, “酒吧”, 关键我的酒吧, 类型布尔值, “富吧”, 标志SingleProperty /* 没有属性 */ }, {}, /* 元素(不支持)*/ /* 类描述 */ }, {}, /* 比较操作(不支持)*/ {} /* 任何枚举 */ } }; 资源 StringResource (kHistoryEntry, "History", purgeable) { 插件名称“:参考编号=^0。” }; // 结束文件

并且,在 xcode 构建结果窗口中,(仅针对第一个 .r 文件;其余部分相同)

使用配置Debug构建项目hackformat的HackFormat 检查依赖项 [警告]警告:复制捆绑资源构建阶段包含此目标的 Info.plist 文件“Info.plist”。 Rez tmp/hackformat.build/Debug/HackFormat.build/ResourceManagerResources/Objects/HackFormat-A69F02213383561.rsrc HackFormat.r cd /home/dwilson/proj/PSPlug/hackformat /Developer/Tools/Rez -o /home/dwilson/proj/PSPlug/hackformat/tmp/hackformat.build/Debug/HackFormat.build/ResourceManagerResources/Objects/HackFormat-A69F02213383561.rsrc -d SystemSevenOrLater=1 -useDF -script Roman -arch x86_64 -i /home/dwilson/proj/PSPlug/hackformat/Debug -i /home/dwilson/proj/PSPlug/hackformat/sampcomm -i sampcomm -i /home/dwilson/proj/PSPlug/hackformat -i /home /dwilson/proj/PSPlug/hackformat/sampcomm -i /home/dwilson/SW/SDK/AdobePS/adobe_photoshop_cs5_sdk_mac/photoshopapi/photoshop -i /home/dwilson/SW/SDK/AdobePS/adobe_photoshop_cs5_sdk_mac/photoshopapi/pica_sp -i /Developer /Headers/FlatCarbon -i /home/dwilson/SW/SDK/AdobePS/adobe_photoshop_cs5_sdk_mac/photoshopapi/resources -i /home/dwilson/proj/PSPlug/hackformat/Debug -i /home/dwilson/proj/PSPlug/hackformat/Debug /include -i sampcomm /home/dwilson/proj/PSPlug/hackformat/../../../common/includes/MachOMacrezXcode.h -isysroot /Developer/SDKs/MacOSX10.5.sdk /home/dwilson/proj /PSPlug/hackformat/HackFormat.r ### /Developer/Tools/Rez - 打开“/home/dwilson/proj/PSPlug/hackformat/../../../common/includes/MachOMacrezXcode.h”时出现 SysError 0。 致命错误! ### /Developer/Tools/Rez - 致命错误,无法恢复。 /home/dwilson/proj/PSPlug/hackformat/../../../common/includes/MachOMacrezXcode.h: ### /Developer/Tools/Rez - 由于发生错误,/home/dwilson/proj/PSPlug /hackformat/tmp/hackformat.build/Debug/HackFormat.build/ResourceManagerResources/Objects/HackFormat-A69F02213383561.rsrc的资源fork没有写。 命令 /Developer/Tools/Rez 失败,退出代码为 3

【问题讨论】:

  • 你在使用 Rez 吗?它是一个旧的 Carbon 项目吗?
  • Rez 是不是应该不再使用的旧东西了?
  • 基本上每个人(除了旧的庞然大物 Adob​​e 和 Microsoft)都停止使用 Rez,这是一种将文本资源文件 .r 转换为旧的资源叉中数据的遗留机制,pre -OS X Mac 方式。
  • 我正在尝试为 Adob​​e Photoshop 创建一个插件,在这种情况下,通过从他们的 SDK 复制其中一个示例并重命名文件并进行其他更改。在 .r 文件之前,一切都编译得很好。这是他们的 xcode 项目文件,有一些更改,例如修复外部库的路径。
  • 达人,能不能把获取SDK的网址发一下?

标签: macos exit-code


【解决方案1】:

来自Rez man page

Rez 可以返回以下状态码:

0 没有错误
1 参数错误
2 资源描述文件中的语法错误
3 I/O 或程序错误

【讨论】:

  • 那么究竟什么是“I/O 或程序错误”?我在 Google 上找到了这个,但它似乎没有帮助。
  • @DarenW 这可能意味着找不到文件,无法创建输出文件,或者某些文件的权限导致错误。这也可能意味着您的输入文件中有错误。如果没有错误消息,结果代码真的不是很有帮助。
  • 您需要向我们展示导致错误的.r 文件。
  • 我觉得奇怪的是 xcode 显示了命令和退出代码,但没有任何真正的错误消息。
  • @DarenW 如果将鼠标悬停在构建日志中的命令上,右侧会出现一个小图标。单击它以查看使用的完整命令和所有输出。如果那里没有错误,则该命令没有给出消息。
【解决方案2】:

伙计,我只是在关注这一点。我得到Command /Developer/usr/bin/Rez failed with exit code 3

我一直在到处寻找退出代码的完整列表,但没有任何运气。或至少有关退出代码 3 的任何信息。

更新:我刚刚在这里http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/codesign.1.html 找到了这个(我不确定这是否适用于 xcode,因为它似乎是 darwin 文档的一部分,我对此知之甚少):

如果所有操作都成功,代码设计退出 0。这表示所有代码都已签名,或所有代码 按要求正确验证。如果签名或验证操作失败,则退出代码为 1。退出 代码 2 表示无效的参数或参数。

Exit code 3 indicates that during verification, all
     path(s) were properly signed but at least one of them failed to satisfy the requirement specified with
     the -R option.

 For verification, all path arguments are always investigated before the program exits.  For all other
 operations, the program exits upon the first error encountered, and any further path arguments are
 ignored, unless the --continue option was specified, in which case codesign will defer the failure exit
 until after it has attempted to process all path arguments in turn.

我也不确定,但似乎是权限问题。将进一步调查!

【讨论】:

  • 我不确定这是如何应用的。这些“路径”是什么,什么是“签名”,什么是“验证”?我还没有看到这个行话出现在 Mac/Cocoa 编程中。
【解决方案3】:

我发现了问题!在项目设置中,Rez Prefix File 中有错误的路径。它应该是文件 MachOMacrezXcode.h 的路径。现在很明显,当我查看构建结果时没有找到这个文件。我已将此文件复制到我的项目源中(因为我不希望依赖于我从中获取源的原始示例代码)并修复了路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    相关资源
    最近更新 更多