J'ai téléchargé une bibliothèque pour écrire un programme qui peut décompresser un fichier RAR. (http://www.rarlab.com/rar/UnRARDLL.exe) Cela me fournit avec unrar.dll, unrar.h, unrar.lib et UnRDLL.def. J'ai copié le code d'exemple C et j'ai essayé de le compiler avec Dev-Cpp et Eclipse.Options de l'éditeur de liens C++ pour DLL (DEF, LIB, etc.)
Je n'ai pas beaucoup d'expérience en utilisant des DLL, donc je ne sais pas comment traiter les erreurs de l'éditeur de liens suivants:
UnRDLL.o (.text + 0x151): UnRDLL.c: Non défini référence à
[email protected]' UnRDLL.o(.text+0x1c0):UnRDLL.c: undefined reference to
RARSetCallback @ 12' UnRDLL.o (.text + 0x1e2): UnRDLL.c: undefined reference to[email protected]' UnRDLL.o(.text+0x2b9):UnRDLL.c: undefined reference to
RARProcessFile @ 16' UnRDLL.o (.text + 0x2fe): UnRDLL.c: undefined reference to[email protected]' UnRDLL.o(.text+0x366):UnRDLL.c: undefined reference to
RAROpenArchiveEx @ 4 ' UnRDLL.o (.text + 0x3d6): UnRDLL.c: référence non définie à[email protected]' UnRDLL.o(.text+0x41c):UnRDLL.c: undefined reference to
RARReadHeaderEx @ 8' UnRDLL.o (.text + 0x4c2): UnRDLL.c: référence non définie à[email protected]' UnRDLL.o(.text+0x4fa):UnRDLL.c: undefined reference to
RARCloseArchive @ 4'
Google a suggéré d'ajouter --def UnRDLL.def et -lunrar aux options de l'éditeur de liens et de copier également le fichier .lib dans le répertoire Dev-Cpp \ lib.
Pouvez-vous s'il vous plaît m'expliquer ce que je fais mal? Si possible, dites-moi quels fichiers doivent être dans le répertoire du code source, ce qui doit être avec les bibliothèques, ce qui doit être ajouté au projet et quelles sont les options d'éditeur de liens nécessaires, ainsi que tout ce que j'ai manqué .
EDIT: Je ne sais pas pourquoi, mais je viens de refaire manuellement tous les paramètres comme décrit ci-dessus et maintenant cela fonctionne. Merci pour votre aide de toute façon.
J'ai déjà utilisé VSE et je préfère Eclipse (ou DevCpp pour les petits projets). Je sais qu'il est souvent plus facile d'utiliser des DLL avec VSE, mais je préfère apprendre à les utiliser avec d'autres IDE. – thornate
Assez juste. J'ai joué avec Eclipse et DLL avant, mais je l'ai trouvé trop frustrant, personnellement. C'est un cas spécifique où l'utilisation de la chaîne d'outils «fournie par le fournisseur» aide vraiment la productivité, l'OMI. –