无法在dev-c ++上编译程序?

问题描述 投票:-3回答:1

下载新版本修复了我的问题感谢您的帮助。

我无法编译我的程序,我不明白为什么?我很难找到任何理由,为什么会这样,没有结果。我只是想运行dev-c ++给你的默认示例this is what it spits out这是编译日志

Compiler: Default compiler
Building Makefile: "C:\Users\alex\Desktop\C++\test2\Makefile.win"
Executing  make...
make.exe -f "C:\Users\alex\Desktop\C++\test2\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"   

make.exe: *** [main.o] Error -1073741819

Execution terminated
c++ windows dev-c++
1个回答
1
投票

我将-1073741819翻译成十六进制数字(使用Windows计算器):

-1073741819 = 0xC0000005

在MSDN上有一张所有NTSTATUS Values的表格。相关行:

0xC0000005 STATUS_ACCESS_VIOLATION

0x%08lx处的指令引用0x%08lx处的内存。内存不能是%s。

这听起来像OP的g++在某种程度上被打破,因为它找我make.exe报告g++的退出代码-1073741819。

在我20年的专业经验中,我遇到了一些罕见的情况,其中某些特定的错误C ++代码使我的编译器崩溃(而不仅仅是报告错误)。它已经多年没有发生了。

OP的示例代码

#include <cstdlib>
#include <iostream>

using namespace std;

int name(int argc, char *argv[])
{
  system("PAUSE");
  return EXIT_SUCCESS;
}

看起来恕我直言无辜导致像上面提到的这样的编译器错误。

所以,我同意Yunnosch的建议:

在控制台上尝试g++ --version(例如cmd.exe)。 a)检查g++是否可以运行。 b)看看版本是否过时。

您还可以检查具有相同名称的工具的并发安装是否以某种方式意外混合。这可能发生在例如通过在PATH环境变量中具有冲突的位置。

© www.soinside.com 2019 - 2024. All rights reserved.