在 Visual Studio Code 中运行代码的问题
Posted
技术标签:
【中文标题】在 Visual Studio Code 中运行代码的问题【英文标题】:Trouble with running code in Visual Studio Code 【发布时间】:2019-03-18 13:46:34 【问题描述】:我知道这个问题已经被问过很多次了,但我是一个 Linux 的初学者,在此之前我从未使用过它。我正在尝试在过去一个小时左右设置 VSCode,现在我终于让扩展工作了(是吗?)我尝试对其进行测试,但它不起作用。当我输入几行基本代码时:
#include <iostream>
using namespace std;
int main()
cout << "It's not working" << endl;
return 0;
当我尝试运行代码时,我得到了这个:
[正在运行] cd "/home/user/School/CPP Codes/" && g++ test.cpp -o test && "/home/user/School/CPP Codes/"test /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o:在函数
_start': (.text+0x20): undefined reference to
main' collect2:错误:ld 返回 1 个退出状态 [完成] 在 0.096 秒内以 code=1 退出
我阅读了一些我应该添加 -o 的帖子?!但是我再次知道这意味着什么或我应该做什么。因此,我们将非常感谢任何帮助!
【问题讨论】:
构建命令看起来正确。你确定test.cpp
是正确的文件吗?
亲爱的上帝,现在它可以工作了。当你说我刚刚关闭文件并再次打开它并且它工作时。一个字都没改。我拉头发了!!!那是什么?
只是一个疯狂的猜测,也许你没有保存文件或者文件被缓冲在某个地方...¯\_(ツ)_/¯ 除此之外,你的代码和命令是正确的@提到 LightnessRacesinOrbit
@skratchi.at 是的,事实证明我必须在每次迭代后保存文件,这有点烦人。
如果您不将文件保存到磁盘,那么当编译器从磁盘加载文件时,它就会过期。虽然我有点惊讶the IDE doesn't save it for you when you hit 'build';我想这是因为在 VS Code 的情况下 IDE 和编译器是如何隔离的。免责声明:我没用过。
【参考方案1】:
链接器错误确实很难调试。几年后,你会让他们变得更好。基本上链接器告诉你,他找到了文件,但没有找到你的主文件。正如我在评论中提到的,这可能是
-
您没有保护文件
您的文件以任何方式获得了缓冲区
根据我的经验,vs code 显示的保存状态有点隐藏。关闭文件的十字在哪里,有一个圆点。
【讨论】:
事实上我没有保存文件。一个快速的问题:我如何在终端中运行代码?当我运行它时,它会在“输出”窗口中显示代码,但由于我必须输入一些信息它不起作用 命令?我不跟。我在学校使用 VS IDE,不需要任何额外的设置步骤,但由于我有 linux,所以我在家里使用 vscode,所以我不知道。 我在windwos下运行vs代码,但应该没有任何区别。在 vs 代码Terminal -> New Terminal
中打开一个终端。然后输入.\test
确保你在同一个目录中,因为你的二进制文件被编译为/home/user/School/CPP Codes/
。使用命令pwd
。然后使用ls
检查您的二进制文件是否在您的目录中,如果我正确阅读了您的答案,则应将其命名为test
。如果所有这些都适用,您应该能够使用./test
执行您的程序。
确保您使用的是正斜杠 /
而不是反斜杠以上是关于在 Visual Studio Code 中运行代码的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio Code 中运行 JavaScript 代码? [复制]