【问题标题】:Running C++ file on Terminal in Ubuntu在 Ubuntu 的终端上运行 C++ 文件
【发布时间】:2019-06-11 12:28:50
【问题描述】:

我是 C++ 新手。
我在 Ubuntu 中使用 gedit 创建了一个 C++ 文件。但是当我尝试在终端上运行它时,它说

没有这样的文件或目录

当我在终端上输入ls 时,它显示c++ 文件根本没有创建。

我哪里做错了?

  1. 在我的桌面上使用 gedit 保存了一个带有 .cpp 的文件。
  2. 进入终端并输入类似g++ -o test file name.cpp 的内容。
  3. 然后我看到一条错误消息“没有这样的文件或目录”。

这是我的代码:

#include <iostream>

using namespace std;

int main()
{
   cout << "Hello World\n";
   return 0;
}

【问题讨论】:

  • 你在哪里保存(ctrl+s)文件?你是在哪个目录下的?请提供更多信息/终端输出
  • 您无法使用gedit 保存文件? (请仔细检查我是否理解您的问题)
  • 一个C++文件需要经过编译才能执行。
  • 也许,告诉我们你想运行什么。你不能像它一样“运行” c++ 文件。你必须先编译它。如果您在帖子中对其进行修改,这并不是很清楚
  • 1.在我的桌面上使用 gedit 保存了一个带有 .cpp 的文件。 2. 进入终端并输入类似“g++ -o test file name.cpp”的内容。 3. 然后显示“没有这样的文件或目录”的错误消息。

标签: c++ ubuntu terminal gedit


【解决方案1】:

首先,您必须从 gedit 中找到保存源文件的目录。 File->Save As 是一个显示目录的地方,并且该菜单中可能还有一些“文件属性”操作也显示了路径。在命令行中使用cd 移动到该目录,然后再运行编译命令。

您可以使用ls 来查看目录是否包含您期望的文件,正如您所做的那样。 pwd 可用于显示当前工作目录的完整路径。一般来说,如果您完成一两个 Linux 终端教程,以掌握在 unix 终端命令行上工作的窍门,这将非常有用。


然后看起来你的文件名中有空格:g++ -o test file name.cpp 有点不清楚哪个是哪个,但我想你想要这个:

g++ -o test 'file name.cpp'

在 unixy 终端中,shell(你可能有 bash)负责拆分命令行参数,默认情况下,这发生在空格处。如果您在单个参数中有空格(例如此处的文件名),则必须这样做,以便 shell 不会将该参数一分为二。有几种方法可以做到这一点,像上面这样的单引号只是一种,但它是一个广泛的主题,远远超出了这个答案。

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 2014-04-12
    • 2021-11-12
    • 2017-08-11
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    相关资源
    最近更新 更多