gpt4 book ai didi

xcode - 构建规则 "Output Files"中的表达式?

转载 作者:行者123 更新时间:2023-12-05 01:20:50 25 4
gpt4 key购买 nike

您能否在 Xcode 构建规则的“输出文件”部分包含表达式?例如:

$(DERIVED_FILE_DIR)$(echo "/dynamic/dir")/$(INPUT_FILE_BASE).m

具体来说,当使用 j2objc 翻译 Java 文件时,生成的文件将保存在基于 java 包的子文件夹中(例如。$(DERIVED_FILE_DIR)/com/google/Class.[hm]) .这没有使用 --no-package-directories,我不能使用它,因为不同包中的文件名重复。

问题出在输出文件,因为 Xcode 不知道如何在正确的位置搜索输出文件。默认位置是 $(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).m,但我需要执行字符串替换以插入正确的路径。但是,任何添加为 $(expression) 的表达式都会被忽略,因为它从未存在过。

enter image description here

我还尝试从自定义脚本导出一个变量并在输出文件中使用它,但这也不起作用,因为在运行自定义脚本之前输出文件被转换为 SCRIPT_OUTPUT_FILE_X

enter image description here

最佳答案

不幸的是,Xcode 的构建支持非常原始(与 make 相比,make 早了三年多 :-)。可以尝试的一种选择是拆分 Java 源代码,以便具有相同名称的两个类位于不同的子项目中。如果您随后为每个子项目使用不同的前缀,名称将被消除歧义。

一种更脆弱但可能更简单的方法是为两个类中的一个定义一个单独的规则,以便它可以分配一个唯一的前缀。然后添加一个早期构建阶段以在任何其他 Java 类之前对其进行翻译,因此规则不会重叠。

关于xcode - 构建规则 "Output Files"中的表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24868013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com