gpt4 book ai didi

c++ - Qt Creator编译错误 "::swprintf and::vswprintf has not been declared"

转载 作者:可可西里 更新时间:2023-11-01 15:50:25 36 4
gpt4 key购买 nike

到目前为止,我已经在 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

最佳答案

正如 Troubadour 所建议的,这是 mingw 的问题,当您将 -std=c++0x 标志添加到编译选项时,mingw 也会自动添加 -ansi 标志,因此为了解决这个问题,我添加了 -U__STRICT_ANSI__ 标志来编译选项。问题已解决。

关于c++ - Qt Creator编译错误 "::swprintf and::vswprintf has not been declared",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699734/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com