10

我正在尝试使用 MinGW 在 Windows 上编译 Botan,并且在编译过程中收到以下错误:

c:\qt\2010.04\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:159: error:
'::swprintf' has not been declared
c:\qt\2010.04\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:166: error:
'::vswprintf' has not been declared

为什么没有声明 swprintf 和 vswprintf,我该如何解决这个问题?

4

3 回答 3

11

试着放进去

#undef __STRICT_ANSI__ 

在包括 stdio.h 之前

于 2010-08-10T01:22:11.783 回答
3

使用 MinGW (Qt 2010.05) 编译 Grantlee 时遇到同样的问题。

我是如何编译的:

  • 查找文件 cwchar (C:\Qt\2010.05\mingw\lib\gcc\mingw32\4.4.0\include\c++\cwchar)
  • 注释掉以下几行(大约第 160 行)

    使用 ::swprintf;

    使用 ::vswprintf;

于 2011-07-05T08:19:54.947 回答
2

运行 make 时确保未设置 -ansi 标志。如果正在使用此标志,则将其删除,问题将得到解决。

于 2012-05-07T12:14:43.830 回答