【发布时间】:2011-01-17 13:33:38
【问题描述】:
如果我将-std=c++0x 指定给g++,那么我不能#include <iostream>。我收到以下错误消息(mingw 下的 g++ 4.4.0):
In file included from c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/bits/postypes.h:42,
from c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iosfwd:42,
from c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ios:39,
from c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ostream:40,
from c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iostream:40,
from f.cpp:1:
c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:159: error: '::swprintf' has not been declared
c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:166: error: '::vswprintf' has not been declared
任何想法为什么?这在最新的 g++ 中是否已修复? (如果是这样,有人知道如何将最新的 g++ 合并到 Qt 中吗?)
【问题讨论】:
-
如果您删除 '-std=c++0x',编译器会告诉您什么?
-
这看起来像是 MinGW 的 C++ 库/头文件中的错误,而不是 G++ 中的错误。
-
@Simone:没有-std=c++0x,我没有问题。