如何在 Sublime 文本中创建一个可以处理编译和链接 Objective-C 文件的项目?
我可以构建和运行一个单一的objective-c 文件。我正在努力编译和链接多个文件。项目文件是答案吗?我难住了。
如何在 Sublime 文本中创建一个可以处理编译和链接 Objective-C 文件的项目?
我可以构建和运行一个单一的objective-c 文件。我正在努力编译和链接多个文件。项目文件是答案吗?我难住了。
项目文件对于组织所有文件很有用,我绝对建议将它们用于您的每个项目,但是构建系统会满足您的需求。这些是非常灵活和强大的系统,特别是当您充分利用构建系统参考中列出的选项和变量时。下面是一个编译(和可选运行)单个文件的相当简单的示例(根据此 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
,设置适当的项目变量,你很高兴。
祝你好运!