到目前为止,我已经在visual studio中编写了所有的代码,现在我需要添加一些UI,所以我要使用Qt.所以我添加了每个文件在我的项目(除了主类),然后尝试使用Qt编译它.由于我使用了一些c 0x功能,所以我不得不将这一行添加到项目文件中:
QMAKE_CXXFLAGS += -std=c++0x
然后我尝试编译它.只有两个错误(可能有更多,但这两个编译器停止)
In file included from d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/bits/postypes.h:42,from d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iosfwd:42,from d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ios:39,from d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ostream:40,from ../TranslatorBase/ttObject.h:5,from ../TranslatorBase/ttArray.h:5,from ../TranslatorBase/ttArray.cpp:1: d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:159: error: '::swprintf' has not been declared d:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:166: error: '::vswprintf' has not been declared
我不知道为什么会出现这样的错误.并确保我首先尝试使用此命令使用cygwin / gcc编译相同的项目:
gcc -std=c++0x TranslatorBase/ttArray.cpp -c -o ttArray.o
即使没有任何警告,它也不会编译错误.实际上,我的项目中的每个文件都没有任何警告编译.
我现在使用基于Qt v4.7.0的Qt Creator v2.0.1,它使用的是mingw / gcc v4.4.0
– 编辑 –
只是我发现的一件新事物,即使没有我的源文件(只有使用Qt生成的文件)仍然存在编译错误.看来我有一个gcc的问题.
@Troubadour Qt生成此命令:
g++ -c -std=c++0x -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'd:/Qt/qt/include/QtCore' -I'd:/Qt/qt/include/QtGui' -I'd:/Qt/qt/include' -I'd:/Qt/qt/include/ActiveQt' -I'debug' -I'.' -I'../TranslatorUI' -I'.' -I'd:/Qt/qt/mkspecs/win32-g++' -o debug/ttArray.o ../TranslatorBase/ttArray.cpp