Kennt jemand diese Fehlermeldung ?
-
Hii,
ich bin ziemlich am Anfang was die Programmierung von C++ auf Linux anbetrifft. Ich bekomme stets eine Fehlermeldung mit der ich überhaupt nicht weiterkomme. Die Fehlermeldung, die ich bekomme ist:
Description Resource Path Location Type
expected »)« before »« token nema.h jjjj 61 C/C++ Problem
expected »)« before »« token nema.h jjjj 62 C/C++ Problem
expected »)« before »« token nema.h jjjj 68 C/C++ Problem
expected »)« before »« token nema.h jjjj 69 C/C++ Problem
expected »)« before »« token nema.h jjjj 70 C/C++ Problem
expected »)« before »« token nema.h jjjj 71 C/C++ Problem
format »%1u« erwartet Typ »unsigned int«, aber Argument 5 hat Typ »long unsigned int« nema.c jjjj 33 C/C++ Problem
nmeap_def.h: No such file or directory nema.h jjjj 32 C/C++ ProblemKann jemand was damit anfangen ?
Viele Grüße,
elturco
-
Wie wärst mit dem Code- Schnippsel, in dem der Fehler Auftritt. Aus meinen hauptschüler Englischkenntnissen erschliesse ich das eine Klammer ")" vor einem Stern "*" erwartet wird. vll. ist deine Klammersetzung bspw. bei einer Dereferenzierung eines pointer falsch oder fehlt oder sonst was... ich kanns so nich richen..
also CODE HER....

-
elturco schrieb:
nmeap_def.h: No such file or directory nema.h jjjj 32 C/C++ Problem
Ich würde mal ganz stark vermuten, dass er den Header nmeap_def.h nicht finden kann! Vielleicht sind deine Include-Pfade unvollständig o.ä.
-
Hallo,
da die anderen beiden Dinge schon angesprochen wurden:
format »%1u« erwartet Typ »unsigned int«, aber Argument 5 hat Typ »long unsigned int« nema.c jjjj 33 C/C++ Problem
Das 5.Argument passt vom Typ her nicht zur Formatfestlegung "%1u", wenn man es mit long zu tun hat, muss man ein "l" voranstellen: "%1lu". Da die Eins in dieser Angabe ziemlich sinnfrei ist (ein int hat immer mindestens ein Zeichen), vermute ich einen (Ab-)Schreibfehler, die Eins sieht in manchen Zeichensätzen wie ein l aus...
MfG,
Probe-Nutzer
-
Ich danke Euch allen erstmal.. Tatsächlich ist die Anzahl der Fehlermeldungen deutlich gesunken, bekomme jetzt nur noch zwei... Die Header Datei nmeap_def.h hatte die meisten Fehler gehabt.
Hier mein Code.. Es handelt sich um eine Applikation um die GPS Daten, die in Form von NMEA vorliegen zu extrahieren. Das meiste habe ich übernommen einige Teile selber geschrieben.
HEADER
/* * nmea.h * * Created on: 29.06.2008 * Author: elturco */ #ifndef NMEA_H_ #define NMEA_H_ #include "nmeap_def.h" #define NMEAP_MAX_SENTENCES 8 #define NMEAP_MAX_SENTENCE_NAME_LENGTH 5 #define NMEAP_MAX_SENTENCE_LENGTH 255 #define NMEAP_MAX_TOKENS 24 //GGA Message ID #define NMEAP_GPGGA 1 //RMC Message ID #define NMEAP_GPRMC 2 #define NMEAP_USER 100 //forward references struct nmeap_context; struct nmeap_sentence; //Callouts typedef void (*nmeap_callout_t)(struct nmeap_context *context,void *sentence_data,void *user_data); typedef int (*nmeap_sentence_parser_t)(struct nmeap_context *context,struct nmeap_sentence *sentence); //DATA STRUCTURES struct nmeap_gga{ double latitude; double longitude; double altitude; unsigned long time; int satellites; int quality; double hdop; double geoid; }; typedef struct nmeap_gga nmeap_ggt_t; struct nmeap_rmc{ unsigned long time; char warn; double latitude; double longitude; double speed; double course; unsigned long date; double magvar; }; typedef struct nmeap_rmc nmeap_rmc_t; //METHODS int nmeap_int(nmeap_context_t *context,void *user_data); int nmeap_addParser(nmeap_context_t *context, const char *sentence_name, nmeap_sentence_parser_t sentence_parser, nmeap_callout_t sentence_callout, void *sentence_data); int nmeap_parseBuffer(nmeap_context_t *context, const char *buffer, int *length ); int nmeap_parse(nmeap_context_t *context, char ch); int nmeap_gpgga(nmeap_context_t *context,nmeap_sentence_t *sentence); int nmeap_gprmc(nmeap_context_t *context,nmeap_sentence_t *sentence); double nmeap_latitude(const char *plat,const char *phem); double nmeap_longitude(const char *plat,const char *phem); #endif /* NMEA_H_ */HEADER
/* * nmeap_def.h * * Created on: 03.07.2008 * Author: elturco */ #ifndef NMEAP_DEF_H_ #define NMEAP_DEF_H_ typedef struct nmeap_sentence{ char name[NMEAP_MAX_SENTENCE_NAME_LENGTH +1]; int id; nmeap_sentence_parser_t parser; nmeap_callout_t callout; void *data; }; nmeap_sentence_t; //parser context struct nmeap_context{ nmeap_sentence_t sentence[NMEAP_MAX_SENTENCES]; int sentence_count; char input[NMEAP_MAX_SENTENCE_LENGTH +1]; int input_count; int input_state; char input_name[6]; char icks; char ccks; char *token[NMEAP_MAX_TOKENS]; int tokens; unsigned long msgs; unsigned long err_hdr; unsigned long err_ovr; unsigned long err_unk; unsigned long err_id; unsigned long err_cks; unsigned long err_crl; char debug_input[NMEAP_MAX_SENTENCE_LENGTH +1]; void *user_data; }; typedef struct nmeap_context nmeap_context_t; #endif /* NMEAP_DEF_H_ */CODE
/* * nema.cpp * * Created on: 29.06.2008 * Author: elturco */ #include "nema.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <sys/io.h> #include <fcntl.h> #include <termios.h> #include <string.h> #include <errno.h> static void print_gga(nmeap_ggt_t *gga){ printf("found GPGGA message %.6f %.6f %.0f %1u %d %d %f %f\n", gga->latitude, gga->longitude, gga->altitude, gga->time, gga->satellites, gga->quality, gga->hdop, gga->geoid); };Fehlermeldung
Description Resource Path Location Type
expected identifier or »(« before »}« token nmeap_def.h jjjj 18 C/C++ Problem
format »%1u« erwartet Typ »unsigned int«, aber Argument 5 hat Typ »long unsigned int« nema.c jjjj 33 C/C++ ProblemKann es sein, dass mein Compiler einmail mit gcc und einmal mit g++ compiliert ??
-
zu "expected identifier or »(« before »}« token nmeap_def.h jjjj 18 C/C++ Problem":
typedef struct nmeap_sentence{ char name[NMEAP_MAX_SENTENCE_NAME_LENGTH +1]; int id; nmeap_sentence_parser_t parser; nmeap_callout_t callout; void *data; }; nmeap_sentence_t;Ganz recht, bei typedef struct erwartet der Compiler nach der Strukturdefinition den Namen des Typedefs. Stattdessen findet er ein Semikolon. Dieses "nmeap_sentence_t" betrachtet er dann als freistehende Anweisung nach der Typdefinition.
-
Warum überhaupt "typedef struct"? Kommst du von C?
-
Danke Euch...
Die Fehler habe ich korrigiert. Ich benutzte Eclipse, wieso zeigt mir denn Eclipse nach wie vor die gleichen Fehler wenn ich es compiliere ??
Gibt es eine Besonderheit bei Eclipse diesbezüglich ?
Grüße,
elturco
-
Wie kann man soviel Programmode schreiben und nicht mal die einfachsten Compileerrors korrigieren können? C&P?