Ответ 1
Во-первых, возможно, что заголовки библиотеки просто не представляют свои зависимости должным образом. Попробуйте добавить #include <cstdio>
и, возможно, (к сожалению) a using namespace std;
в ваш файл вверху.
В противном случае у нескольких людей возникли проблемы с MinGW и swprintf. Этот почтовый лист предлагает добавить следующее:
#ifdef WIN32
#define swprintf _snwprintf
#endif
Посмотрите, устраняет ли это проблему. (Вы тоже хотите его в самой верхней части файла.)
Если добавление случайных определений к вашему источнику кажется вам плохой идеей, я предлагаю использовать флаги -D
build, чтобы условно ввести указанное выше определение, когда вы строите на MinGW.
См. также это короткое обсуждение о различиях между swprintf на MinGW и других компиляторах.
Наконец, в противном случае эта ссылка, кажется, приписывает проблему проблеме с флагами, которые позволяют __STRICT_ANSI__
в MinGW, и предлагает комментируя пару строк в одном из заголовков MinGW, чтобы исправить эту проблему. Я бы предложил добавить вместо них более простой #ifndef __STRICT_ANSI__
, если вы решите пойти с этим хаком.