【发布时间】:2016-02-26 07:53:13
【问题描述】:
在 Xcode 7 中,您可以在 Build Phases 选项卡中创建“运行脚本”阶段。在该区域的底部,有一个“输入文件”部分和一个“输出文件”部分。
我有一个在$(DERIVED_FILE_DIR)/myfile.cpp 处生成.cpp 文件的脚本。该文件列在阶段的“输出文件”部分。但是,它似乎没有编译到我的程序中,因为它定义的符号被链接器识别为缺失。
我怎样才能告诉 Xcode 也编译这个文件?
【问题讨论】:
在 Xcode 7 中,您可以在 Build Phases 选项卡中创建“运行脚本”阶段。在该区域的底部,有一个“输入文件”部分和一个“输出文件”部分。
我有一个在$(DERIVED_FILE_DIR)/myfile.cpp 处生成.cpp 文件的脚本。该文件列在阶段的“输出文件”部分。但是,它似乎没有编译到我的程序中,因为它定义的符号被链接器识别为缺失。
我怎样才能告诉 Xcode 也编译这个文件?
【问题讨论】:
一种可能的解决方案(感觉像 hack)是将构建的文件插入到项目中,设置其位置(在实用工具栏的身份和类型部分),然后在项目文件中使用文本编辑其位置计算机独立性编辑。就我而言,文件条目(带有换行符以提高可读性)现在看起来像:
DC40C4121C7FC98F0087702A /* bindings.cpp */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.cpp.cpp;
name = myfile.cpp;
path = "$(DERIVED_FILE_DIR)/myfile.cpp";
sourceTree = "<absolute>";
};
文件浏览器将其解释为绝对路径字面上为 $(DERIVED_FILE_DIR)/myfile.cpp 的文件(并且该文件在项目浏览器中始终显示为红色),但构建系统将从正确的位置获取该文件。
【讨论】: