swprintf и vswprintf не объявлены? - PullRequest
10 голосов
/ 10 августа 2010

Я пытаюсь скомпилировать Botan в Windows с MinGW и получаю следующую ошибку во время компиляции:

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 и как я могу это исправить?

Ответы [ 3 ]

11 голосов
/ 10 августа 2010

Попробуйте добавить

#undef __STRICT_ANSI__ 

перед включением stdio.h

3 голосов
/ 05 июля 2011

имел ту же проблему при компиляции Grantlee с использованием MinGW (Qt 2010.05).

Как я получил его для компиляции:

  • найти файл cwchar (C: \ Qt \ 2010.05 \ mingw \ lib \ gcc \ mingw32 \ 4.4.0 \ include \ c ++ \ cwchar)
  • закомментируйте следующие строки (вокруг строки 160)

    using :: swprintf;

    с использованием :: vswprintf;

2 голосов
/ 07 мая 2012

Во время работы убедитесь, что флаг -ansi не установлен.Если этот флаг используется, удалите его, и проблема будет решена.

...