2013-02-24 175 views
1

我在64位Windows 7上使用MinGW g ++ 4.6.2。至于IDE,我使用Eclipse CDT。MinGW Windows.h不编译

我的项目有问题 - 当我包含“Windows.h”文件时,出现了数千个错误。我试图创建一个只包含Windows.h的不同文件,但它给出了相同的错误。

.H:

/* 
* WinWrapper.h 
* 
* Created on: Feb 24, 2013 
*  Author: martin 
*/ 

#ifndef WINWRAPPER_H_ 
#define WINWRAPPER_H_ 

char* winGetMainModule(); 

#endif /* WINWRAPPER_H_ */ 

的.cpp:

#include "WinWrapper.h" 

#include <windows.h> 

char* winGetMainModule() { 



    return nullptr; 

} 

没有其他文件包括 “WinWrapper.h”,也不WINDOWS.H。

template with C linkage GameProj  line 172, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\locale_classes.tcc C/C++ Problem 
template with C linkage GameProj  line 228, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\locale_classes.tcc C/C++ Problem 
template with C linkage GameProj  line 128, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\locale_classes.tcc C/C++ Problem 
template with C linkage GameProj  line 133, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\locale_classes.tcc C/C++ Problem 
confused by earlier errors, bailing out GameProj  line 118, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\ios_base.h C/C++ Problem 
declaration of C function 'constexpr std::_Ios_Openmode std::operator&(std::_Ios_Openmode, std::_Ios_Openmode)' conflicts with GameProj  line 117, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\ios_base.h C/C++ Problem 
previous declaration 'constexpr std::_Ios_Fmtflags std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags)' here GameProj  line 77, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\bits\ios_base.h C/C++ Problem 
template with C linkage GameProj  line 614, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 623, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 629, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 636, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 592, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 598, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 
template with C linkage GameProj  line 602, external location: c:\mingw\lib\gcc\mingw32\4.6.2\include\c++\type_traits C/C++ Problem 

... +约200 KB其他错误日志

其他项目信息:

  1. 使用SDL库,SDL_Image
  2. 定义TARGET_WINX86
  3. 编译器标志-c - fmessage-length = 0 -std = C++ 0x

不知道发生了什么。请帮帮忙,在此先感谢:))

+0

有点奇怪,但它听起来好像你在build命令中使用'gcc'而不是'g ++'。为什么你不显示你的构建命令。 – 2013-02-24 14:04:32

+0

http://pastebin.com/SfEhHXcT感谢您愿意帮助 – lrav 2013-02-24 14:22:17

回答

4

从C:\工作区\ GameProj的\ src \基地/ string.h中

↑罪魁祸首。

你有你自己的string.h文件,由于包含路径,它正被winnt.h的包含文件拾取。

+0

谢谢,那就是问题所在。我希望C++不太容易出错,非常感谢你:)) – lrav 2013-02-24 18:40:13