J'essaie d'utiliser des bibliothèques statiques écrites en c dans un iOS Projet. J'ai inclus les fichiers .lib et le .h dans le projet iOS. Lorsque j'essaie d'importer les fichiers d'en-tête dans l'une de mes classes objectives-C, j'obtiens beaucoup d'erreurs Expected '=',',',';','asm' or 'attribute' before...
dans le fichier .h de ma bibliothèque statique. J'utilise xCode4 pour le développement qui semble avoir correctement ajouté les bibliothèques. Lorsque j'ouvre le projet avec Xcode 3, les bibliothèques sont ajoutées au groupe cible "link binary with libraries" comme indiqué dans How to resolve linking error - static lib iPhone.Utilisation de .lib statique (c) dans iOS Projet - Attendu '=', ',', ';', 'asm' ou 'attribut' avant
J'ai obtenu les bibliothèques statiques d'une société qui utilise réellement ces bibliothèques donc je suppose que le fichier d'en-tête n'est pas en faute. Je n'ai pas pu trouver d'erreurs moi-même.
Existe-t-il un moyen d'utiliser des fichiers .lib avec des fichiers d'en-tête corrects dans un projet ios? Ou dois-je faire autre chose que d'ajouter les fichiers lib au groupe cible afin de les utiliser dans mon projet?
Cordialement, Mike
modifier
le message d'erreur réelle:
attendu * avant * Expected '=', '', '', 'asm' ou 'attribute' avant _far _pascal
Le code réel où l'en-tête est importé:
#import <Foundation/Foundation.h>
#import "SomethingDll.h"
@interface AccountingEntry : NSObject {
NSString *entryDescription;
NSDate *entryDate;
double entryAmount;
NSString *entryType;
}
@property (nonatomic, retain) NSString *entryDescription;
@property (nonatomic, retain) NSDate *entryDate;
@property (nonatomic) double entryAmount;
@property (nonatomic, retain) NSString *entryType;
//class methods go here
//instance methods go here
-(id)initWithDescription:(NSString *)eDesc date:(NSDate*)eDate amount:(double)eAmount type:(NSString *)eType;
@end
Le fichier .h de la lib.
#ifndef __SOMETHING_DLL
#define __SOMETHING_DLL
// constants for a function
#define FIRST_ERRTEXT 0
#define NEXT_ERRTEXT 1
/*
...
some other #define of constants
*/
// Callback-Pointer Definitionen
#define INFO_FUNC_DECL BOOL (CALLBACK *lpInfoFunc)(int)
#define FILETRANS_FUNC_DECL void (CALLBACK *lpFileTransFunc)(int,long)
// Funktionsdeklarationen
#ifdef WIN32
#define IMPORTAPI WINAPI
#else
#define IMPORTAPI _far _pascal
#endif
#ifdef __cplusplus
extern "C" {
#endif
void IMPORTAPI Something_Config( int iLogLevel, char *szLogFile,
long lTimeOut_Connect, long lTimeOut,
long lTimeout_GetFile, long lTime_Info,
int iSSLVersion, char *szSSLCipher,
char *szVerifyCertificateFile, char *szVerifyCertificatePath);
/*
...
a lot of other functions
...
*/
#ifdef __cplusplus
}
#endif
#endif // End
Certains messages d'erreur réels peuvent faciliter le diagnostic du problème. –
Ou un code réel où les fichiers d'en-tête sont importés – Eimantas
J'ai ajouté le code actuel, le message d'erreur et le fichier .h de la lib. Je vous remercie. –