【发布时间】:2014-07-18 21:10:37
【问题描述】:
我是MinGW的新用户,我已经遇到了问题。当试图编译一个非常简单的 Hello world c++ 程序时,我得到一个错误。我输入命令:
g++ hello.cpp -o hello.exe
然后我得到消息对话框:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: c:\mingw\bin\...\libexec\gcc\mingw32\4.8.1\cc1plus.exe
R6034:
An application has made an attempt to load the C Runtime library incorrectly.
Please contact the application's support team for more information.
紧随其后的是这个消息对话框:
cc1plus.exe - Program error
The application failed to initialize properly
(0xc0000142). Press OK to close application.
然后是关于 Windows 在线寻找解决方案的常见垃圾。
我使用了自动安装程序mingw-get-setup.exe 并按照说明进行操作。我选择安装文件夹为C:\mingw,在MinGW Installation Manager中选择安装mingw-developer-toolkit、mingw32-base、mingw32-gcc-g++、mingw32-gcc-objc和msys-base。按照安装指南中的建议,我在Environment Variables 中添加了PATH。
我试图编译的代码是:
#include <iostream>
using namespace std;
int main(int argc, char ** argv){
cout << "hello world" << endl;
return 0;
}
我也试过用命令编译一个类似的 ANSI-C 代码:
gcc hello.c -o hello.exe
我得到了同样的错误。
我在cmd.exe 和 MSYS 中尝试了该命令,但在这两种情况下都出现了错误。我的操作系统是 Windows Vista Home Premium,上面安装了 Microsoft Visual C++ 2010。我提到这一点是因为我尝试在没有 VC++ 的 Windows 7 计算机上进行相同的安装,并且编译器在这里没有问题。这是否意味着您不能在同一台计算机上安装 MinGW 和 VC++?
【问题讨论】:
-
似乎 mingw 编译器正在尝试加载 VC++ CRT 库,您是在普通 cmd 还是在 VS cmd 中执行命令?安装了VC++的mingw使用没有问题,我在同一台机器上有vs2012、vs2013、mingw32和mingw64
-
在 Windows 上,某些应用程序不正确地将自己的 VC 运行时版本放在 %PATH% 中。这会破坏其他应用程序。检查您是否可以使用空的 %PATH% 重现此内容。
-
@NetVipeC:我用的是普通的cmd
-
@n.m.:我尝试删除 %PATH%,然后出现新错误:
cc1plus.exe - The component was not found. The program was unable to start because libgmp-10.dll was not found. The problem may be resolved by reinstalling the program.(翻译自丹麦语) -
您可能需要保留 Mingw 自己添加的那些 PATH 组件。
标签: c++ c visual-c++ mingw