blackbirdthefirst
Mitglied
Hallo zusammen,
ich bekomme beim Übersetzten eines Programmes unter SuSE 10.1 mit der GCC
Version gcc (GCC) 4.1.0 (SUSE Linux) immer den Fehler
und hier einmal ein paar Zeilen aus der Headerdatei
Ich benötige also die Forwärtsdeklartaion um api_handler_t als Parameter in den
typedefs für die Funktionspointern zu benutzen, wobei die Funktionspointer selbst auch in der Struktur api_handler_t verwendet werden.
Unter WindowsXP mit Visual Studio 2005 gibt es keine Fehler !
ich bekomme beim Übersetzten eines Programmes unter SuSE 10.1 mit der GCC
Version gcc (GCC) 4.1.0 (SUSE Linux) immer den Fehler
Code:
apihandler.h:116: error: redefinition of typedef ‘api_handler_t’
apihandler.h:45: error: previous declaration of ‘api_handler_t’ was here
und hier einmal ein paar Zeilen aus der Headerdatei
Code:
...
typedef struct api_handler api_handler_t;
/// Ladend des zu verwendenen IFD-Handlers.
typedef short (*load_ifdh_t)( api_handler_t *p_apih, const char* p_ifdhname );
/// Initialisieren des API-Handlers
typedef short (*apih_init_t)( api_handler_t *p_apih, char *p_ctname, char *p_ctport, int p_channel );
...
typedef struct api_handler
{
// API-Handler Funktionen
//--------------------------------------------------------
load_ifdh_t load_ifdh; /// Ladend des zu verwendenen IFD-Handlers.
apih_init_t apih_init; /// Initialisieren des API-Handlers
ct_open_t ct_open; /// Verbindung zu einem Kartenterminal herstellen.
ct_close_t ct_close; /// Verbindung zu einem Kartenterminal trennen.
ct_reset_t ct_reset; /// Kartenterminal reseten.
icc_reset_t icc_reset; /// Chipkarte reseten.
icc_request_t icc_request; /// Chipkarte anfordern.
icc_read_t icc_read; /// Lesen von einer Chipkarte.
icc_write_t icc_write; /// Schreiben auf eine Chipkarte.
icc_verifypin_t icc_verifypin; /// PIN verifizieren.
icc_changepin_t icc_changepin; /// PIN aendern.
// Pointer auf Bibliotheksresourcen.
//--------------------------------------------------------
#ifdef WIN32
HINSTANCE apih_lib;
HINSTANCE ifdh_lib;
#else
#endif
// Offizielle Kartenterminalschnittstelle ( CT_API, PC/SC )
//--------------------------------------------------------
void *ifd_handler;
} api_handler_t;
Ich benötige also die Forwärtsdeklartaion um api_handler_t als Parameter in den
typedefs für die Funktionspointern zu benutzen, wobei die Funktionspointer selbst auch in der Struktur api_handler_t verwendet werden.
Unter WindowsXP mit Visual Studio 2005 gibt es keine Fehler !