gcc référence indéfinie à
Je suis en cours d'exécution..
gcc -c -I/usr/vt/sample ttssample.c
gcc -L. -lttsapi ttssample.o -o ttsample
et j'obtiens le message d'erreur suivant...
ttssample.o: In function `_TTSFile':
ttssample.c:(.text+0x352): undefined reference to `TTSRequestFile'
ttssample.o: In function `_TTSFileEx':
ttssample.c:(.text+0x5e0): undefined reference to `TTSRequestFileEx'
ttssample.o: In function `_TTSBuffer':
ttssample.c:(.text+0x833): undefined reference to `_TTSRequestBuffer'
ttssample.o: In function `_TTSBufferEx':
ttssample.c:(.text+0xabd): undefined reference to `_TTSRequestBufferEx'
ttssample.o: In function `_TTSBuffering_cont':
ttssample.c:(.text+0xcbf): undefined reference to `_TTSRequestBuffer'
ttssample.o: In function `_TTSBuffering_stop':
ttssample.c:(.text+0xf2d): undefined reference to `_TTSRequestBuffer'
ttssample.o: In function `_TTSBuffering_SSML':
ttssample.c:(.text+0x122b): undefined reference to `_TTSRequestBufferSSMLEx'
ttssample.o: In function `_TTSStatus':
ttssample.c:(.text+0x157b): undefined reference to `TTSRequestStatus'
collect2: ld returned 1 exit status
et TTSRequestFile est dans le répertoire lib de l'en-tête, mais il a DllExport sur le devant qui je me demandais est-ce la cause de mon erreur? Toute aide appréciée.
DllExport int TTSRequestFile(char *szServer, int nPort, char *pText, int nTextLen, char *szSaveDir, char *szSaveFile, int nSpeakerID, int nVoiceFormat);
source d'informationauteur JLB
Vous devez vous connecter pour publier un commentaire.
Votre commande de liaison est mauvaise. Les bibliothèques devraient être spécifié à la fin de la commande:
Vous pouvez ajouter de préprocesseur
ifdefines
autour de laDllExport
appeler de la sorte:J'ai ajouté pour les trois plates-formes, j'ai été la compilation de la croix-plate-forme pour. Notez que les mots clés que j'utilise pour reconnaître les plates-formes peuvent changer, mais le
_WIN32
a été testé avec windows 7 et windows 8.J'ai trouvé ces il y a un an sur le site de sourceforge, je pense. Je ne pouvais pas trouver la page en ce moment, mais je vais revenir à vous si je le trouve.
Que je ne peux pas encore de commentaire sur Nikos C est de la réponse, je vais commenter ici:
Votre lien de commande est correct, je peux bien sûr pas vous voir les fichiers, donc je suppose que vos chemins d'accès sont corrects.Ce qui est important, c'est que-l
'ont besoin d'être dans le bon ordre en fonction de dépendances, mais ce n'est généralement pas un problème dans la mesure où j'ai vécu.