Bonjour à tous,
Je souhaiterais développer une appli windows sous linux.
Quelques explications:
- L'appli, en C, est une utilisation simple de la dll de winrar (unrar.dll) fournie sur le site de rarlab. L'appli servira plus tard comme librairie pour du développement en Python.
- La plateforme visée est windows puisque la fonction finale servira sur un système (XBMC) basée sur Win32.
- Linux, ... bon, simplement, je suis sur ubuntu
Pour compiler, j'ai installé mingw et wine pour les tests. J'ai suivi pour cela les infos de ce site: Cross-Compilation vers win32 et j'ai effectué les tests proposés et ça fonctionne impec.
J'ai donc fait un petit programme simple affichant la version de la bibliothèque de unrar. J'ai donc en fichiers:
- la dll: unrar.dll
- le .lib: unrar.lib
- le .h: unrar.h
- le .c: test.c
La compilation ne pose pas de problème mais vient au niveau du linkage.
Les commandes que j'utilise sont:
L'erreur que je reçois est une erreur de référence indéfinie sur la fonction tirée de la dll après la deuxième commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 i586-mingw32msvc-gcc -c test.c i586-mingw32msvc-gcc -L. -lunrar -otest.exe test.o
Mes autres essais:
- passage d'un .lib à un .a en récupérant le .def lié à la dll et en utilisant le dlltool de mingw, mais j'ai la même erreur.
- Compilation sous wine en installant sous wine mingw. "i586-mingw32msvc-gcc" devient "wine gcc": même erreur.
- Utilisation de g++ à la place de gcc: même erreur.
- Ce week end, j'ai eu accès à un pc équipé de windows, j'ai donc fait l'install de mingw, et là, j'ai eu aucun problème. J'ai eu mon exe nickel
Toute idée est la bienvenue.
Merci
Partager