如何在Sublime文本中创建一个可以处理编译和链接Objective-C文件的项目?
我可以构建并运行单个目标-c文件。我正在试图编译和链接多个文件。项目文件是答案吗?我很难过。
答案 0 :(得分:3)
项目文件对于组织所有文件非常有用,我绝对建议您为每个项目使用它们,但是build system会在这里找到您想要的内容。这些是非常灵活和强大的系统,尤其是当您充分利用Build System Reference中列出的选项和变量时。下面是一个编译(并可选择运行)单个文件的一个相当简单的示例(从this gist修改为半唯一输出文件名):
{
"cmd": ["bash", "-c", "clang -lobjc -framework Cocoa -framework Carbon -o /tmp/${file_name}_sublime_build $file"],
"file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)",
"selector": "source.objc",
"variants": [
{
"name": "Run",
"cmd": ["bash", "-c", "clang -lobjc -framework Cocoa -framework Carbon -o /tmp/${file_name}_sublime_build $file && /tmp/${file_name}_sublime_build"]
}
]
}
对于多个类文件,最好的选择是将简单的Makefile
组合在一起并使用Sublime的内置Make
构建系统:
{
"cmd": ["make"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path:${folder:${file_path}}}",
"selector": "source.makefile",
"variants":
[
{
"name": "Clean",
"cmd": ["make", "clean"]
}
]
}
这样,您不需要为每个项目都有一个自定义的.sublime-build
文件(尽管如果它们足够相似,您也可以使用它),所有您需要做的事情创建一个Makefile
,设置适当的项目变量,你就可以了。