正在运行 C 程序“没有输入文件”

正在运行 C 程序“没有输入文件”

当我尝试hello program在终端上运行 C 时出现以下错误:

$ gcc hello.c -o hello
gcc: error: hello.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

答案1

线索就在No such file or directory;它找不到正确的文件。要么...

  • 您不在与hello.c文件相同的目录中。cd到正确的目录,或使用提供gcc文件的路径:

    gcc /home/oli/Desktop/hello.c -o hello
    

    注意,输出路径也一样-o。如果你保留它,hello它将尝试写入当前工作目录(/home/$USER/默认情况下)。更改目录或提供完整路径。

  • 或者你已经称呼它HellO.C(Ubuntu 的文件系统区分大小写)。

  • hello.c从未存在过。也许它只是我们集体想象出来的产物;也许你忘了保存它;也许它的名字完全不同。

这是这是你第二次发布有关路径问题的帖子。这是您将要学习的东西,但是,命令并非全局有效,并且并非所有文件都位于同一目录中。您必须指定内容的位置。

答案2

您应该首先正确检查路径,看看您的 c 文件是否存在于此文件夹中。为此,您可以使用ls命令列出此特定文件夹中的所有文件。

要查看文件夹的路径,您可以使用密码

希望这对你有帮助。因为要编译 c 文件,你只需输入正确的命令。

答案3

使用 CMakeLists 编译一些 C 程序时,我遇到了同样的问题。我使用#以下内容注释了其余标志:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unknown-pragmas -Wno-format -Wno-unused-label -Wno-unused-function # -Wno-int-to-void-pointer-cast -Wno-self-assign")

但事实证明我无法这样评论,所以我只是删除了其余部分(# -Wno-int-to-void-pointer-cast -Wno-self-assign)并且它编译了。

相关内容