【问题标题】:Running Hello World on Sublime Text 3在 Sublime Text 3 上运行 Hello World
【发布时间】:2017-06-28 06:33:36
【问题描述】:

所以要在 mac 上设置 sublime text3 上的编译,我已经下载了开发人员 xcode 工具,然后

我制作了一个新的构建系统并将其保存为'c':

{
"cmd" : ["gcc",  "-o", "$file_base_name", "$file_name"],
"cmd" : ["./$file_base_name"],
"selector" : "source.c",
"shell" : false,
"working_dir" : "$file_path"
}

在这之后我的程序是这样的:

#include <stdio.h>

int main(void) {
printf("Hello World");
return 0;
}

当我尝试“构建”它时,我得到了这个错误

[Errno 2] No such file or directory: './Hello World'
[cmd: ['./Hello World']]
[dir: /Users/(username)/Desktop/Programming/Random C Programs]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]

怎么了?

如果这有什么不同的话,我还将我的 Hello World 文件保存在我的桌面上,专门命名为“Hello World.c”


引用 schwern 评论的新错误:

现在我得到了这个:

[Errno 2] No such file or directory: './HelloWorld'
[cmd: ['./HelloWorld']]
[dir: /Users/(username)/Desktop/Programming/RandomCPrograms]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]

【问题讨论】:

  • 你确定第一个cmd 正在被执行吗?是否允许在 Sublime 中的单个“构建系统”中指定多个 cmds?
  • 第一个编程经验法则;文件名中的空格要求时间不好。只是不要这样做。 :)
  • 根据您的配置,它应该编译source.c,从而输出./source作为可执行文件。但它表明它正在尝试运行./HelloWorld。是哪个?
  • @Qix 谢谢,以后会做的:)

标签: c macos sublimetext3


【解决方案1】:

问题可能是您的文件名中有空格并且没有转义或引用文件名。

./Hello World 正在运行程序./Hello,第一个参数是World

(这是错误的,Sublime 不会通过 shell 运行 cmd,所以空格是可以的)

您不能有两个具有相同键的条目,第二个 cmd 覆盖了第一个。我不确定您将如何运行两个命令。请参阅Build Systems 了解更多信息。

【讨论】:

  • 很好地抓住了 JSON 位。这很可能是您的问题;您的第二个命令正在覆盖第一个命令,因此它将尝试运行而不实际编译它。
  • @Qix 对不起伙计们,但所有这一切都没有多大意义,因为我有了一台新笔记本电脑,并想开始通过使用 sublime text 和编译来学习编程。我正在学习 C atm,只是想运行一个基本的 c 程序来测试 sublime 文本如何运行程序。你们中的任何人都能够准确地告诉我要更改什么来解决所有这些问题并运行我的代码吗?
  • @dydxx 我建议不要使用您的编辑器来编译 C 代码。 Write a Makefile。你将不得不学习如何做到这一点,不妨现在就去做。 Learn C The Hard Way 将引导您完成它。无论如何,我在问题 cmets 中列出了一个现有问题以及您的答案。
猜你喜欢
  • 1970-01-01
  • 2017-05-22
  • 2019-12-09
  • 2016-05-06
  • 2018-03-22
  • 2014-03-01
  • 1970-01-01
  • 2016-06-18
  • 2011-08-02
相关资源
最近更新 更多