【问题标题】:Hello World program in Visual C++ giving errrorVisual C++ 中的 Hello World 程序给出错误
【发布时间】:2015-03-05 17:33:00
【问题描述】:

我已经安装了 Visual Studio 2012。我在一个新项目中编写了一个简单的“hello world”程序。代码如下:

#include <iostream>
int _main()
{
    cout<<"Hello world";
    cin.get();
    return 0;
}

当使用预编译头文件时,我得到了与stdafx.h相关的错误,所以我关闭了预编译头文件并删除了#include stdafx.h

现在我收到这些奇怪的错误消息:

  • 错误 C2018:未知字符“0x3”
  • 错误 C2018:未知字符“0x4”
  • 错误 C2018:未知字符“0x40”
  • 错误 C2146:语法错误:缺少 ';'在标识符“ÿÿ¸”之前
  • 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int

还有更多类似的错误导致构建失败。错误是由cl.exe 给出的每一行代码。

到目前为止我尝试过的事情:

  • 创建了一个只有 1 个包含该代码的 .cpp 文件的空项目;
  • 尝试使用std::cout
  • 尝试使用int main() 而不是int _main()
  • 试过using namespace std;
  • 在 Visual Studio 2010 上尝试了相同的操作。

【问题讨论】:

  • 那些 0x3 和 0x4 似乎您已经复制粘贴或以其他方式将一些无效字符插入到您的源文件中......然后您至少缺少std::,或更简单的using namespace std;。跨度>
  • 另外,你为什么写_main,下划线?是 Visual Studio 的东西吗?
  • 1. 你是说你不只是得到这 5 个错误,而是每行代码得到一次,即 7 x 5 个错误 = 总共 35 个错误? 2. 错误是否明确 引用此.cpp 文件(正确的文件),或者编译器可能会尝试编译错误的文件(即接收到不正确的输入文件)?
  • 这工作:ideone.com/7ScNP4
  • 问题不在于您显示的任何内容(考虑您的项目符号列表时)。需要更多信息...您可以更新代码,然后显示更新代码的实际编译输出。

标签: c++ visual-studio-2010 visual-studio visual-studio-2012


【解决方案1】:
  1. 在 Viusal Studio 中编写控制台应用程序并删除预编译头文件的包含会导致错误。

  2. 查看您的链接器属性(右键单击您的项目,选择属性,然后选择链接器 - 系统)。确保您选择了 SUBSYSTEM 控制台。在 Linker - Advanced 下,您可以找到您的入口点。确保您的入口点 = 您的主要 int 的名称。

  3. 也许看看这个: visual c++ 2010 errors importing User32.dll into 64bit win7

【讨论】:

  • 我包含了 stdafx.h 并启用了预编译头文件的使用。但是我在第一行中遇到了与错误 C2857 相同的错误:在源文件中找不到使用 /YcStdAfx.h 命令行选项指定的“#include”语句
  • SUBSYSTEM 控制台是默认选择的,所以我没有改变它。我不明白你的答案中入口点的价值应该是什么。
【解决方案2】:

伙计们,我意识到一件奇怪的事情。当我第一次打开VS并构建时,它构建成功,但是如果我重新构建,它会出错。 因此,每次我对代码进行更改并编译时,都会出现相同的错误。但是,如果我关闭 VS 并再次打开并尝试,它会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    相关资源
    最近更新 更多