当我尝试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
)并且它编译了。