作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个工具,可以在运行脚本部分的构建阶段生成附加源代码。我想将本节的结果文件包含到编译和链接中。怎么可能呢?我知道可以在额外的运行脚本部分中编写 clang 调用,但我正在寻找替代选项,因为保持运行脚本部分与 clang 和项目编译器设置同步太复杂。
我生成的文件是当前包含在项目中的类的一组类别。我不需要担心将类别导入到项目中,因为所有生成的代码都会自动导入到 generated-categories.h 中,默认情况下,该代码会导入到预编译头中。
最佳答案
您可以通过向项目中添加一个包含以下内容的文件来解决此问题:
#include "generatedFile1.c"
#include "genreatedFile2.c"
等等。然后,您只需使该文件(或构建阶段)依赖于(或在之后运行)源代码生成步骤。
我对 Xcode 不太熟悉,所以我不知 Prop 体如何实现这一点;希望有更具体经验的人能够在这方面为您指明正确的方向。
编辑:我在这里用一个简单的项目让它工作。示例:
main.m:
#import <Foundation/Foundation.h>
#import "generatedFile.m"
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"%@", string);
}
return 0;
}
脚本.sh:
#!/bin/sh
echo "NSString *string = @\"Hello, World\";" > ${SYMROOT}/generatedFile.m
然后我在项目设置的“标题搜索路径”中添加了 ${SYMROOT}
,并在“编译源”阶段之前添加了“运行 shell 脚本”阶段。
关于xcode - 如何编译和链接附加源代码而不将其显式包含到项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894259/
我是一名优秀的程序员,十分优秀!