为什么 g++ 找不到我的源代码?

0 command-line compiling directory c++ g++

我刚开始在 Ubuntu 上使用 C++,但我已经陷入困境。

我制作了我的第一个 .cc 程序并尝试用 g++ 编译它。

我将它命名为 variabili.cc 并将其保存在我桌面上一个名为 Esercizi 的文件夹中。

当我尝试

g++ variabili.cc
Run Code Online (Sandbox Code Playgroud)

我得到:

g++: error: variabili.cc No such file or directory
g++: fatal error: no input files compilation terminated
Run Code Online (Sandbox Code Playgroud)

我检查了该文件是否在那里ls ~/Desktop并且它在那里。名字也是对的。

无论我做什么,它似乎都不起作用。

Eli*_*gan 5

g++不会自动知道源代码文件在您的桌面上。它正在您当前的目录中寻找它——无论您在运行它的 shell 中的任何位置。如果您没有使用该cd命令更改目录,那可能是您的主目录。该Desktop目录是您的主目录的子目录。

variabili.cc是在~/Desktop,所以你必须要么...

在这两个选项中,我建议cding 到您的文件所在的位置。这样,生成的可执行文件和任何其他输出文件将自动放在与源代码相同的目录中。

您可能还想提供g++一些其他选项,例如启用警告 ( -Wall -Wextra) 或指定输出文件的名称 ( ),但两者都不是编译代码所必需的。-o filename


如果您想知道当前所在的目录,您的提示可能会显示给您。例如,在我的机器(Io)上,以用户ek登录,我从我的主目录(~,对我来说意味着/home/ek)开始,将目录更改为~/Desktop,然后将目录更改为/

ek@Io:~$ cd Desktop/
ek@Io:~/Desktop$ cd /
ek@Io:/$
Run Code Online (Sandbox Code Playgroud)

我以粗体显示的文本是提示。

您也可以随时通过运行pwd,它代表“当前工作目录”来找出您所在的位置:

ek@Io:~/Desktop$ pwd
/home/ek/Desktop
Run Code Online (Sandbox Code Playgroud)