Frage

Ich baue eine Reißverschluss-Anwendung, aber es hat eine Erklärung, dass ich es in einer anderen Datei trennen will (komprimieren-file.m), aber nur, wenn ich die Dateien trennen bekomme ich einen Fehler, wenn sie mit einem variablen Zusammenstellung, sieht es:

[ubuntu@eeepc:~/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

Siehe auch die Linie 7 von main.m-Datei:

char outFileName[PATH_MAX] = { 0 };

Und ein paar Zeilen von Kompresse-file.m sehen:

#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");

Ich weiß, dass Objective-C-Erweiterung ist, aber es ist nur, weil, wenn ich dieses Problem lösen werde ich die Entwicklung in Objective-C fortsetzen muß. Was ich brauche, um dies zu korrigieren, zu tun?

War es hilfreich?

Lösung

ist PATH_MAX nicht immer, indem <limits.h> definiert. Wenn Sie es verwenden möchten, müssen Sie wahrscheinlich wieder auf dem Fragment fallen:

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

Haben Sie auch limits.h in Ihrem Hauptprogramm enthalten? Wenn nicht, müssen Sie dies tun.

Andere Tipps

Sieht aus wie main.m zu #include <limits.h> braucht. Es scheint auch, wie es einen Header beschreibt CompressFile umfassen müssen wird (was ich denke, Sie in compress-file.m verschoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top