【问题标题】:This is my first time programming and i cant run my code这是我第一次编程,我无法运行我的代码
【发布时间】:2019-12-16 19:01:24
【问题描述】:

基本上当我点击运行错误小狗时

[运行] cd "c:\Users\alexv\Documents\Playground\" && g++ Hello_World -oc:\Users\alexv\Documents\Playground\Hello_World && "c:\Users\alexv\Documents\Playground\" c:\Users\alexv\Documents\Playground\Hello_World c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe:Hello_World:文件格式无法识别;视为链接描述文件 c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe:Hello_World:1: 语法错误 collect2.exe:错误:ld 返回 1 个退出状态

我正在使用 VSC、MinGW 和 PC,我尝试运行的程序是一个简单的 hello world:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello world" << endl;

    return 0;
}

【问题讨论】:

  • 我不是 Visual Studio Code 方面的专家,但是您可能需要展示您的 json 文件。
  • g++ Hello_World: 你的源文件扩展名在哪里(例如.cpp.cxx等)?
  • 与我的第一条评论相关:https://code.visualstudio.com/docs/cpp/config-mingw
  • 我建议您使用 Visual Studio 而不是 Visual Studio Code。它更清洁且易于使用。另外,请不要使用using namespace std;.It's considered a bad practice.
  • 我宁愿推荐eclipse或代码块,都和mingw一起。承认,让 IDE 运行有点麻烦,但一旦设置好,两者都运行良好。我个人认为 eclipse 尤其优于 MSVC,更重要的是隐私问题:使用 MSVC,你必须注册,所以你用你的个人数据付费,相比之下,eclipse 或 CB 是真的免费的...

标签: c++ visual-studio-code compiler-errors g++ syntax-error


【解决方案1】:

如cmets中所说,报错信息比较清楚。

g++ 接受几种不同类型的文件作为参数。它会尝试通过查看文件扩展名来确定您正在处理的文件类型。

您的文件没有扩展名,因此g++ 默认假定它是一个链接描述文件,但它确实是一个 C++ 源文件。

使用 C++ 源文件的常用文件扩展名之一,g++ 将正确处理文件,无需其他选项。常见的 C++ 源文件扩展名是 .cpp.cc.cxx

【讨论】:

  • 切题:谁认为将无法识别的文件视为链接描述文件是明智的默认设置?!
  • @user253751 也许是 Linux 可执行文件/脚本?
  • @user253751 我认为如果无法识别它只是直接传递给链接器,并且由于该文件不是有效的目标文件,这就是结果。
  • 我认为这是由于 Visual Studio 代码配置错误造成的。也可能像错误地命名源文件一样简单。尽管话虽如此,但如果 OP 消失了,我们可能永远不会知道。
  • 旁注:如果不使用扩展名(或 g++ 无法识别的不寻常的扩展名),-x option 允许明确指定编译文件的语言...
猜你喜欢
  • 2021-04-04
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多