error C2146: syntax error : missing ';' before identifier 'DesFireCard_Authenticate'

hello , please can you help me to resolve this problem :
c:\users\pc\downloads\sdk-k531\grfid\sdk-k531\springprox_api\samples\c\reference\interdesf\sprox_desfire_old.h(13) : error C2146: syntax error : missing ';' before identifier 'DesFireCard_Authenticate'
c:\users\pc\downloads\sdk-k531\grfid\sdk-k531\springprox_api\samples\c\reference\interdesf\sprox_desfire_old.h(13) : fatal error C1004: unexpected end of file found

sprox_desfire_old.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef __SPROX_DESFIRE_OLD_H__
#define __SPROX_DESFIRE_OLD_H__

#ifdef __cplusplus
extern  "C"
{
#endif

/*
 * DesFire exported functions
 * --------------------------
 */
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_Authenticate(BYTE bKeyNumber,
                                                                  const BYTE * pbAccessKey);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_ChangeKeySettings(BYTE key_settings);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_GetKeySettings(BYTE * key_settings,
                                                                     BYTE * key_count);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_ChangeKey(BYTE key_number,
                                                                const BYTE * new_key,
                                                                const BYTE * old_key);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_GetKeyVersion(BYTE bKeyNumber,
                                                                    BYTE * pbKeyVersion);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_FormatPICC(void);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_CreateApplication(DWORD aid,
                                                                        BYTE key_settings,
                                                                        BYTE keys_count);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_DeleteApplication(DWORD aid);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_GetApplicationIDs(BYTE aid_max_count,
                                                                        DWORD * aid_list,
                                                                        BYTE * aid_count);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_SelectApplication(DWORD aid);
SPROX_DESFIRE_LIB SWORD SPROX_DESFIRE_API DesFireCard_GetVersion(DF_VERSION_INFO * pVersionInfo);


et sprox_desfire.h la ou j'ai inclut sprox_desfire_old.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef __SPROX_DESFIRE_H__
#define __SPROX_DESFIRE_H__


#include <stdio.h>
#include <string.h>

#ifdef WIN32

#include "springprox.h"
#include <windows.h>
#include "desfire_card.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>

#ifndef SPROX_DESFIRE_LIB
#define SPROX_DESFIRE_LIB __declspec( dllimport )
#endif

#include "sprox_desfire_old.h"
#ifndef UNDER_CE
    /* Under Desktop Windows we use the cdecl calling convention */
#define SPROX_DESFIRE_API __cdecl
#else
    /* Under Windows CE we use the stdcall calling convention */
#define SPROX_DESFIRE_API __stdcall
#endif

  /* Shell we provide UNICODE functions ? */
#ifdef UNICODE
#define DesFire_GetErrorMessageW DesFire_GetErrorMessage
#else
#define DesFire_GetErrorMessageA DesFire_GetErrorMessage
#endif

#endif

#define APPLICATION_ID_SIZE          3
#define MAX_INFO_FRAME_SIZE          60

#ifndef WIN32
#define SPROX_DESFIRE_LIB
#define SPROX_DESFIRE_API
#endif 



et le programme principal :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "windows.h"

#include "stdafx.h"
#include "Interdesf.h"
#include "InterdesfDlg.h"
#include "springprox.h"
#include "sprox_desfire.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define CR 0x0D
#define LF 0x0A
unsigned char RxBuffer[1000];

DWORD  dBAUD = 38400;
#ifdef __linux__
#include <sys/time.h>
#endif


void DesFire_xDES_Recv(BYTE * data, WORD blocks, const BYTE * key);
Last edited on
Salut !
Que m'étonne, dans l'indication d'erreur le fichier est nommé ...\sprox_desfire_old.h mais tu montre "une partie du code sprox_desfire._old.h" -- il y a un point de plus après desfire. C'est par mégarde ou peut-être une raison pour les erreurs ? Dans sprox_desfire.h tu l'écris sans point.

C'est tous que je vois pour l'instant
Faute de frappe desolé je l'ai corrigé
C'est-à-dire l'erreur persiste ? Dans ton logiciel t'à plusieurs endroits avec ce directive
1
2
3
4
#ifdef __cplusplus
extern  "C"
{
#endif 

et ici c'est le seul cas ou ça ne marche pas ?
Y a-t-il les mêmes erreur sans le #ifdef ... #endif ?

(T'à probablement bien remarquer par mes questions que j'ai aucune idée -- desolé. Peut-être tu poste le bogue encore une fois en englais pour l'adresser a plusieurs.)
same errors
Topic archived. No new replies allowed.