я использую stdio.h файл в моем проекте.
когда время компиляции из Xcode я использовал
Comipler for C/C++/Objective-C: LLVM GCC 4.2
Во время компиляции Конфликтующие типы для ‘sprintf’ ошибка. Это нормально работает в Mac OS 10.6.8 & Xcode 3.2.3 но в Mac OS 10.7.4 & Xcode 4.5 получает ошибку? Помогите мне, пожалуйста?
это код в Mac OS X 10.7.4
__BEGIN_DECLS
int fseeko(FILE *, off_t, int);
off_t ftello(FILE *);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L */
#if __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus)
__BEGIN_DECLS
int snprintf(char * __restrict, size_t, const char * __restrict, ...) __printflike(3, 4);
int vfscanf(FILE * __restrict, const char * __restrict, va_list) __scanflike(2, 0);
int vscanf(const char * __restrict, va_list) __scanflike(1, 0);
int vsnprintf(char * __restrict, size_t, const char * __restrict, va_list) __printflike(3, 0);
int vsscanf(const char * __restrict, const char * __restrict, va_list) __scanflike(2, 0);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus) */
Проверка, является ли формат шаблона и аргументов sprintf
и аналогичные функции соответствия были недавно добавлены в компиляторы XCode 4.4 (если я не ошибаюсь). Это ценная проверка, которая выявляет проблемы в вашем коде, которые остались незамеченными в более ранней версии.
В моем случае компилятор всегда был прав. Поэтому вам лучше исправить шаблон формата или преобразовать соответствующий аргумент.
Если вы публикуете конкретный код, мы можем дать вам более конкретный совет.
Других решений пока нет …