Я использую стабильную версию Debian Linux с установленными шиной и mingw. Я хочу проверить свой код c (который мне нужно скомпилировать с помощью mingw, извините) с помощью шины. Простого добавления mingw-include недостаточно для запуска. Я попытался определить GNU и i686, но уверен, что нужно больше. Что еще я должен определить или включить?
Я попробовал идею из кредита, что привело к проблеме с __builtin_va_list
.
Splint 3.1.2 --- 20 Feb 2009
/usr/i686-w64-mingw32/include/vadefs.h:24:43: Parse Error:
Suspect missing struct or union keyword: __builtin_va_list :
int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
Самое смешное, что я не могу найти никакого определения для not - даже с рекурсивным grep для включаемых папок. Я неправильно ищу?
Определив его как -D__builtin_va_list=va_list
(от benjarobin), я столкнулся с ошибкой
Splint 3.1.2 --- 20 Feb 2009
/home/ebelingb/.splintrc:229:1: Setting -stats redundant with current value
/home/ebelingb/.splintrc:229:1: Setting -showsummary redundant with current
value
/usr/i686-w64-mingw32/include/winnt.h:2390:15:
Parse Error. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
который не удалось восстановить даже с помощью +trytorecover.
Строки из winnt.h (и соседние) читаются
2388 typedef struct _EXCEPTION_POINTERS {
2389 PEXCEPTION_RECORD ExceptionRecord;
2390 PCONTEXT ContextRecord;
2391 } EXCEPTION_POINTERS,*PEXCEPTION_POINTERS;
Странно, не так ли?
Хорошо, поскольку в этой ветке больше нет ответов, я немного мотивирую этим минимальным неработающим примером:
Учитывая файл test.c
#include <windows.h>
#include <stdio.h>
#include <time.h>
#define LOGFILEFORMAT "C:\\CBM\\log\\%Y%m%d.log"
#define LOGTIMESTAMPFORMAT "%Y-%m-%d %H:%M:%S"
int main() /*int argc,char **argv*/{
Sleep(1234);
return (0);
}
и мой .splintrc
-I/usr/lib/gcc/i686-w64-mingw32/4.6/include
-I/usr/lib/gcc/i686-w64-mingw32/4.6/include-fixed
-I/usr/i686-w64-mingw32/include
простая команда splint test.c
не работает:
Splint 3.1.2 --- 20 Feb 2009
/usr/i686-w64-mingw32/include/_mingw.h:480:29: Parse Error:
Suspect missing struct or union keyword: __int64 :
long int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
Опять не знаю, как настроить. Вышеупомянутые включения являются результатом вызова предварительной обработки компилятора i686-w64-mingw32-gcc
, который отлично работает на test.c
.
splint main.c
. Какие ошибки? - person benjarobin   schedule 18.11.2013va_list
определения? - person Ioan   schedule 20.11.2013