Проблемы при компиляции файлов C в QtCreator - PullRequest
0 голосов
/ 05 декабря 2010

Я изучаю c / c ++ и хотел поработать с QT Creator.Я использую класс base64, который просто отказывается компилировать, и любая помощь будет принята с благодарностью.

Строки ошибки, которые я получаю,

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.h:59: error: expected ';', ',' or ')' before 'in'

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.h:66: error: expected ';', ',' or ')' before 'in'

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:68: error: expected ';', ',' or ')' before 'in'

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:: error: At top level:

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:320: error: expected ';', ',' or ')' before '*' token

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:373: error: expected ';', ',' or ')' before 'in'
/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:456: error: expected ';', ',' or ')' before 'in'

Поскольку я могу добавить только одну ссылку за раз, файл base64.h прилагается.Я пытался выяснить проблему весь день.

http://rapidshare.com/files/435084122/base64.h

Спасибо

1 Ответ

0 голосов
/ 05 декабря 2010

В заголовке используется специальное ключевое слово C99 restrict, которое ваш компилятор, по-видимому, не обрабатывает:

extern void base64_encode (const char *restrict in, size_t inlen,
                           char *restrict out, size_t outlen);

Однако файл также содержит:

#ifdef __cplusplus
// In case we do not have gnu extensions when including from C++
#define restrict
#endif

Это означает, что даже компилятор C ++, который не обрабатывает ключевое слово restrict, не должен нарушать этот код. Вы должны проверить, что вы на самом деле компилируете C ++ (расширение файла может иметь значение: вы включаете этот файл из .cpp или .c?).

...