gpt4 book ai didi

xcode - 如何在不明确将其包含到项目中的情况下编译和链接其他源代码?

转载 作者:行者123 更新时间:2023-12-02 04:56:32 25 4
gpt4 key购买 nike

我有一个工具可以在运行脚本部分的构建阶段生成额外的源代码。我想将本节的结果文件包含到编译和链接中。怎么可能呢?我知道可以在额外的运行脚本部分编写 clang 调用,但我正在寻找替代选项,因为要使运行脚本部分与 clang 和项目编译器设置保持同步太复杂了。

我正在生成的文件是一组当前包含在项目中的类的类别。我不需要担心将类别导入到项目中,因为所有自动生成的代码都导入到 generated-categories.h 中,默认情况下它被导入到预编译头文件中。

最佳答案

您可以通过向您的项目添加一个包含以下内容的文件来解决此问题:

#include "generatedFile1.c"
#include "genreatedFile2.c"

等等。然后,您只需要使此文件(或构建阶段)依赖于(或在其后运行)源代码生成步骤。

我对 Xcode 不是很熟悉,所以我不知 Prop 体如何实现;希望有更具体经验的人可以在这方面为您指明正确的方向。

编辑:我在这里用一个简单的项目让它工作。示例:

主要.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

然后我在项目设置的“Header search paths”中添加了${SYMROOT},并在“compile sources”阶段之前添加了“run shell script”阶段。

关于xcode - 如何在不明确将其包含到项目中的情况下编译和链接其他源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894259/

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