xcode - 在构建中包含 'Run Script' 阶段输出文件

标签 xcode build

在 Xcode 7 中,您可以在“构建阶段”选项卡中创建“运行脚本”阶段。在该区域的底部,有一个“输入文件”部分和一个“输出文件”部分。

我有一个生成 .cpp 文件的脚本,位于 $(DERIVED_FILE_DIR)/myfile.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 的文件(并且该文件在项目资源管理器中始终显示为红色),但是构建系统将从正确的位置抓取文件。

关于xcode - 在构建中包含 'Run Script' 阶段输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35640642/

相关文章:

ios - Swift 2.0 中的 do { } catch 不会处理从这里抛出的错误

xcode - 将关联域添加到 Expo React-Native 应用程序

c++ - Qt Creator 找不到cl.exe(VS2012)编译器

c++ - 体系结构 x86_64 : and cannot find the reason 的 undefined symbol

swift - 如何选择 nib 作为 Mac OS X 应用程序的启动界面

ios - UITextField __CFStringEncodeByteStream EXC_BAD_ACCESS

java - 代号 One android 构建失败

xcode - 使用运行脚本时更新 Xcode 构建进度条

ios - Xcode 方案更改显示名称

iOS 操作扩展,从 Safari 共享 PDF 失败