BTrieve + Langage C = Erreur compilation
geronimhurl
-
geronimhurl -
geronimhurl -
J'ai essayé à plusieurs reprises de compiler un programme test en C qui permettrait d'utiliser les API de BTRIEVE.
Rien à faire j'ai toujours et encore un erreur de compilation.
Si quelqu'un a réussi à mettre en oeuvre ce miracle, je suis très très preneur.
J'utilise DJGPP, et dans la doc il est conseillé d'utiliser Borland (TC).
Pourtant la syntaxe est identique entre ces 2 compilateurs.
Il y avait un #define à mettre pour que le compilateur sache quel environnement est utilisé...
Si quelqu'un se sent l'âme d'un grand samaritain, je cherche de l'aide.
Parceque pour l'instant, dans l'entreprise où je suis, BTrieve est interfacé avec QuickBasic.
Et le QuickBasic, ça me sort par les trous de nez. et par le trou du *BIP* aussi.
Merci d'avance !!!!
Rien à faire j'ai toujours et encore un erreur de compilation.
Si quelqu'un a réussi à mettre en oeuvre ce miracle, je suis très très preneur.
J'utilise DJGPP, et dans la doc il est conseillé d'utiliser Borland (TC).
Pourtant la syntaxe est identique entre ces 2 compilateurs.
Il y avait un #define à mettre pour que le compilateur sache quel environnement est utilisé...
Si quelqu'un se sent l'âme d'un grand samaritain, je cherche de l'aide.
Parceque pour l'instant, dans l'entreprise où je suis, BTrieve est interfacé avec QuickBasic.
Et le QuickBasic, ça me sort par les trous de nez. et par le trou du *BIP* aussi.
Merci d'avance !!!!
A voir également:
- BTrieve + Langage C = Erreur compilation
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Comment recuperer whatsapp supprimé par erreur - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
5 réponses
Quelle est l'err de compilation?
Si tu peux la retranscrire sur le post ce sera plus simple de t'aider.
Un jour je serai Castor a la place de Castor!!!
Good Luck
Si tu peux la retranscrire sur le post ce sera plus simple de t'aider.
Un jour je serai Castor a la place de Castor!!!
Good Luck
Béh en fait j'ai un appel de fonction qui trouve pas sa... fonction.
J'inclue une librairie qui est blindée de #ifdef et ce genre de mots pour le précompilateur ou un truc de ce genre.
Il est demandé de faire un #define avec ces valeurs :
BTI_DOS - DOS 16-bit Apps
BTI_DOS_32R - Extended DOS with Rational + bstub.exe 32-bit Apps
BTI_DOS_32P - Extended DOS with Phar Lap 6.0 32-bit Apps
BTI_DOS_32B - Extended DOS with Borland PowerPack 32-bit Apps
BTI_DOS_16B - Extended DOS with Borland PowerPack 16-bit Apps
BTI_WIN - MS WINDOWS 16-bit Apps
BTI_WIN_32 - Windows NT and Windows 95 32-bit Apps
BTI_OS2 - OS2 16-bit Apps
BTI_OS2_32 - OS2 32-bit Apps
BTI_NLM - NetWare NLM 32-bit Apps
BTI_SQL - For 32-Bit OS2 SSQL Apps
BTI_SOL - Solaris 32-bit Apps
BTI_HPUX - HP Unix
BTI_AIX - IBM Aix
BTI_IRIX - Irix
BTI_DEC_UNIX - DEC Unix
je compile sous le DOS de windows NT4
j'ai donc choisi BTI_DOS_32R, parceque avec BTI_DOS, c'est lamentable le nombre d'erreur de compilation que j'ai.
je dois inclure btrapi.h et btrconst.h
le problème c'est que dans btrapi.h, il y a les définitions des fonctions, mais pas le code.
Donc il faut que j'inclue aussi btrapi.c
J'y comprends rien, ça m'agace.
Dans le bouquin de référence de BTRIEVE, ils parlent d'un fichier qui s'appelle MSCXBTRV.c , mais je l'ai pô.
Si quelqu'un trouve ça je suis preneur.
Je pense pas que vous puissiez réellement m'aider, mais si quelqu'un en a le courage, je serai éternellement (24 sec.) redevable :D :D :D
J'inclue une librairie qui est blindée de #ifdef et ce genre de mots pour le précompilateur ou un truc de ce genre.
Il est demandé de faire un #define avec ces valeurs :
BTI_DOS - DOS 16-bit Apps
BTI_DOS_32R - Extended DOS with Rational + bstub.exe 32-bit Apps
BTI_DOS_32P - Extended DOS with Phar Lap 6.0 32-bit Apps
BTI_DOS_32B - Extended DOS with Borland PowerPack 32-bit Apps
BTI_DOS_16B - Extended DOS with Borland PowerPack 16-bit Apps
BTI_WIN - MS WINDOWS 16-bit Apps
BTI_WIN_32 - Windows NT and Windows 95 32-bit Apps
BTI_OS2 - OS2 16-bit Apps
BTI_OS2_32 - OS2 32-bit Apps
BTI_NLM - NetWare NLM 32-bit Apps
BTI_SQL - For 32-Bit OS2 SSQL Apps
BTI_SOL - Solaris 32-bit Apps
BTI_HPUX - HP Unix
BTI_AIX - IBM Aix
BTI_IRIX - Irix
BTI_DEC_UNIX - DEC Unix
je compile sous le DOS de windows NT4
j'ai donc choisi BTI_DOS_32R, parceque avec BTI_DOS, c'est lamentable le nombre d'erreur de compilation que j'ai.
je dois inclure btrapi.h et btrconst.h
le problème c'est que dans btrapi.h, il y a les définitions des fonctions, mais pas le code.
Donc il faut que j'inclue aussi btrapi.c
J'y comprends rien, ça m'agace.
Dans le bouquin de référence de BTRIEVE, ils parlent d'un fichier qui s'appelle MSCXBTRV.c , mais je l'ai pô.
Si quelqu'un trouve ça je suis preneur.
Je pense pas que vous puissiez réellement m'aider, mais si quelqu'un en a le courage, je serai éternellement (24 sec.) redevable :D :D :D
Merci pour les infos, mais j'aurais preferé le msg de ton compilateur (le msg d'erreur).
En fait je ne connais pas BTRIEVE mais je pourrais peut etre t'aider si tu envois le rapport de compilation.
A priori, j'ai l'impression qu'il te manque des librairies car si les fichiers d'en tete de la fonction qui ne fonctionne pas sont present,
il me semble que ca ne peut etre que ca.
Un jour je serai Castor a la place de Castor!!!
Good Luck
En fait je ne connais pas BTRIEVE mais je pourrais peut etre t'aider si tu envois le rapport de compilation.
A priori, j'ai l'impression qu'il te manque des librairies car si les fichiers d'en tete de la fonction qui ne fonctionne pas sont present,
il me semble que ca ne peut etre que ca.
Un jour je serai Castor a la place de Castor!!!
Good Luck
In file included from test2.c:9:
d:/djgpp/include/btrapi.c:75: parse error before '*' token
d:/djgpp/include/btrapi.c:75: `cdecl' declared as function returning a function
d:/djgpp/include/btrapi.c:75: field `cdecl' declared as a function
d:/djgpp/include/btrapi.c: In function `BTRVID':
d:/djgpp/include/btrapi.c:553: structure has no member named `functionPtr'
d:/djgpp/include/btrapi.c: In function `BTRV':
d:/djgpp/include/btrapi.c:614: structure has no member named `functionPtr'
voici mes messages d'erreur.
Tout semble lié à la déclaration du pointeur de fonction.
ça doit pas être la même sous TC que sous DJGPP...
je vais continuer de chercher mais voici le code de la ligne 75 ...
#if defined( BTI_DOS_32R )
typedef struct
{
char *Name;
void cdecl (*functionPtr) ( pmswParmBlock *bP ); //ligne 75
} IMPORTS[];
#define PROCESS7B 75
IMPORTS * _ImportedFunctions_ = 0;
#endif
qu'est qu'elle a de pas bien cette déclaration ?
je m'en vais me rafraîchir la tête dans les archives de commentçamarche pour trouver la déclaration d'un pointeur de fonction, zou...
A+
d:/djgpp/include/btrapi.c:75: parse error before '*' token
d:/djgpp/include/btrapi.c:75: `cdecl' declared as function returning a function
d:/djgpp/include/btrapi.c:75: field `cdecl' declared as a function
d:/djgpp/include/btrapi.c: In function `BTRVID':
d:/djgpp/include/btrapi.c:553: structure has no member named `functionPtr'
d:/djgpp/include/btrapi.c: In function `BTRV':
d:/djgpp/include/btrapi.c:614: structure has no member named `functionPtr'
voici mes messages d'erreur.
Tout semble lié à la déclaration du pointeur de fonction.
ça doit pas être la même sous TC que sous DJGPP...
je vais continuer de chercher mais voici le code de la ligne 75 ...
#if defined( BTI_DOS_32R )
typedef struct
{
char *Name;
void cdecl (*functionPtr) ( pmswParmBlock *bP ); //ligne 75
} IMPORTS[];
#define PROCESS7B 75
IMPORTS * _ImportedFunctions_ = 0;
#endif
qu'est qu'elle a de pas bien cette déclaration ?
je m'en vais me rafraîchir la tête dans les archives de commentçamarche pour trouver la déclaration d'un pointeur de fonction, zou...
A+
void (cdecl*) functionPtr ( pmswParmBlock *bP ); //ligne 75
(void cdecl*) functionPtr ( pmswParmBlock *bP ); //ligne 75
Essais ses deux formes pour la ligne 75 mais je ne suis sure de rien.
D'ailleurs toute bonne volonté pour ce pb serait la bienvenue.
Un jour je serai Castor a la place de Castor!!!
Good Luck
(void cdecl*) functionPtr ( pmswParmBlock *bP ); //ligne 75
Essais ses deux formes pour la ligne 75 mais je ne suis sure de rien.
D'ailleurs toute bonne volonté pour ce pb serait la bienvenue.
Un jour je serai Castor a la place de Castor!!!
Good Luck
void (*cdecl) ( pmswParmBlock *bP );
voilà la ligne que j'ai mis en remplacement, et ça l'air de passer la compi.
ça m'étonnerait que ça marche plus tard, mais bo,n j'aurai essayé...
je te tiens au courant si j'y arrive, mais à priori, sauf si quelqu'un a déjà réalisé cet interfaçage, personne peut trop trop m'aider, puisqu'en fait y a pleins de toutes petites erreurs partout...
To be continued.
voilà la ligne que j'ai mis en remplacement, et ça l'air de passer la compi.
ça m'étonnerait que ça marche plus tard, mais bo,n j'aurai essayé...
je te tiens au courant si j'y arrive, mais à priori, sauf si quelqu'un a déjà réalisé cet interfaçage, personne peut trop trop m'aider, puisqu'en fait y a pleins de toutes petites erreurs partout...
To be continued.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question