2

如何在 Sublime 文本中创建一个可以处理编译和链接 Objective-C 文件的项目?

我可以构建和运行一个单一的objective-c 文件。我正在努力编译和链接多个文件。项目文件是答案吗?我难住了。

4

1 回答 1

3

项目文件对于组织所有文件很有用,我绝对建议将它们用于您的每个项目,但是构建系统会满足您的需求。这些是非常灵活和强大的系统,特别是当您充分利用构建系统参考中列出的选项和变量时。下面是一个编译(和可选运行)单个文件的相当简单的示例(根据此 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,设置适当的项目变量,你很高兴。

祝你好运!

于 2013-09-17T15:04:43.030 回答