2009-10-28 5 views
0

Я создаю приложение для застежки-молнии, но у него есть объявление о том, что я хочу разделить его в другом файле (compress-file.m), но только когда я отделяю файлы, я получил ошибку, когда компиляции с переменной увидеть:Разделяющий код, который должен быть организован

[[email protected]:~/Desktop] make 
This is gnustep-make 2.0.2. Type 'make print-gnustep-make-help' for help. 
Making all for app LeafZip... 
Creating LeafZip.app/.... 
Compiling file main.m ... 
main.m: In function ‘main’: 
main.m:7: error: ‘PATH_MAX’ undeclared (first use in this function) 
main.m:7: error: (Each undeclared identifier is reported only once 
main.m:7: error: for each function it appears in.) 
main.m:12: warning: implicit declaration of function ‘compressFile’ 
main.m:7: warning: unused variable ‘outFileName’ 
make[1]: *** [obj/main.o] Error 1 
make: *** [LeafZip.all.app.variables] Error 2 

Также см линию 7 main.m файла:

char outFileName[PATH_MAX] = { 0 }; 

И увидеть некоторые линии компресс-file.m:

#include <stdio.h> 
#include <zlib.h> 
#include <limits.h> 

/* Buffer to hold data read */ 
char buf[BUFSIZ] = { 0 }; 
size_t bytes_read = 0; 
gzFile *out = gzopen(outFileName, "wb"); 

Я знаю, что это расширение Objective-C, но только потому, что, когда я решаю эту проблему, мне нужно продолжить разработку в Objective-C. Что мне нужно сделать, чтобы исправить это?

+1

И ваш вопрос –

ответ

3

PATH_MAX не всегда определяется путем включения <limits.h>. Если вы хотите его использовать, вам, вероятно, придется вернуться на фрагмент:.

#include <limits.h> 
#ifndef PATH_MAX 
#define PATH_MAX _POSIX_PATH_MAX /* Or possibly _XOPEN_PATH_MAX */ 
#endif /* PATH_MAX */ 

вы даже включать limits.h в основной программе Если нет, то вам нужно сделать так

1

Похожым main.m должно быть #include <limits.h>. Также кажется, что он должен будет включать заголовок, описывающий compressFile (который, как я полагаю, вы переместили в compress-file.m.

+0

это уже, как это, в обоих файлах я включил '? limits.h' –

+0

И 'limits.h' фактически определяет' PATH_MAX'? –

Смежные вопросы