Hasta ahora he escrito todo mi código en Visual Studio y ahora necesito agregarle una IU así que voy a usar Qt . Así que agregué cada archivo en mi proyecto (excepto la clase principal) y luego intenté compilarlo usando Qt. ya que he utilizado algunas características de C++ 0x he tenido que añadir esta línea al archivo de proyecto:Error de compilación de Qt Creator ":: swprintf y :: vswprintf no se ha declarado"
QMAKE_CXXFLAGS += -std=c++0x
Luego probé la compilación. sólo hay dos errores (puede haber más, pero el compilador se detiene en estos dos)
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
no tengo idea de por qué debería haber un error de este tipo. y para asegurarse primera vez que trató de compilar mismo proyecto usando cygwin/gcc usando este comando:
gcc -std=c++0x TranslatorBase/ttArray.cpp -c -o ttArray.o
no hay error no se compila incluso sin ninguna advertencia. De hecho, todos los archivos de mi proyecto compilan sin advertencias allí.
Ahora estoy usando Qt Creator v2.0.1 basado en Qt v4.7.0 y se está utilizando MinGW/gcc v4.4.0
--edit--
sólo una nueva cosa que he encontrado , incluso sin mis archivos fuente (solo con archivos generados Qt) todavía hay un error de compilación. parece que hay un problema con el gcc que tengo.
@Troubadour Qt genera este comando:
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
¿Qué comando de compilación 'gcc' está generando' qmake'? – Troubadour
Tenga en cuenta que [esta pregunta] (http://stackoverflow.com/questions/3445312/swprintf-and-vswprintf-not-declared) analiza el mismo problema por lo que puede ser de alguna utilidad. Puede ser que esté viendo exactamente lo mismo, aunque no tenga explícitamente la opción '-ansi', entonces tal vez no. – Troubadour
Si usa 'g ++' en la línea de comando en lugar de 'gcc', ¿sigue funcionando? – Troubadour