-
[resolu] dll sous cygWin
SAlut A tous,
Je cherche à utiliser des bibliotheques C de calcul ( http://www.fftw.org/ ) qui sont carrement enormes et non compilées . Le probleme c'est que je travaille sous VisualStudio et que les bibliotheques ont été faites pour de l'UnixLike. Il faut un shell, il fait appel à des variable d'environnement... Bref je n'y arrive pas sous VS, par contre sous CygWin il parrait que c'est sans probleme. Je me pose donc la question : est-il possible que je crée une dll sous cgyWin et que j'utilise cette dll a partir du reste de mon code sous VS.
merci de vos reponse,
Vic
-
GCC sous Cygwin génère des .EXE, mais qui sont dépendant de Cygwin. Par contre, pour créer une DLL, tu devrais modifier le code afin d'inclure les spécificités de Windows (DllEntryPoint par exemple). Donc la réponse à ta question est non (ou alors au prix d'efforts, et de toute façon Cygwin restera indispensable pour l'exécution). Le plus simple pour toi est de porter, si possible, ta librairie, sous un vrai Windows.
-
paix et félicité,
TADA !! je crois avoir une solution pour ton problème : MinGW.
MinGW fait tout comme cygwin sans être dépendant d'une dll qui sert pour l'émulation. Mais bon, il connaît moins de fonctions de l'API Linux que Cygwin, donc il y aura peut-être des fonctions que tu devras recréer (j'ai bien dit p/e !!).
Ca se trouve là, et en plus il y a plein de librairies pour MinGW.
En fait MinGW est l'ensemble d'outils qui te permet de compiler, et il faut utiliser MSYS comme bash (tu le trouveras sur le même site).
Donc tu pourras créer tes Dll grâce à lui car il te donne du code 100% natif Win32, donc pas de perte de performance suite à une émulation comme avec Cygwin.
Elle est pas belle la vie ? ;).
-
merci pour vos reponses.
1ere chose, j'ai essayé de porter les bibliotheques vers win32 a la main, mais il y a plus de 300 fichiers et il y a plein de truc que je ne connais pas assez sur le système (les differents modes de clock...). J'ai donc fini par abandonner.
Je vais tenter d'utiliser MinGW, merci beaucoup pour cette info Hypnos (paix et félicité a toi aussi)
Je vous donne des nouvelles
Merci
Vic
-
je ne suis pas sur de moi mais le shell sh plante durant la compile :x :( :cry:
je sens que ca ma etre dur...
VIc
-
le sh de MSYS ?
C'est bizarre, t'as pris la dernière version ? Parce qu'il faut prendre les dernières updates pour mingw et msys.
Normalement il y a les dernières nouveautés ici.
Tu peux prendre le nouveau gcc 3.2.3
Les dernières versions de MSYS et mingw
Le MinGW Runtime
Le Windows API.
Avec ça tu l'auras normalement au complet dans sa dernière version. Parce que la version de gcc de Mingw est la 3.2, donc ça date.
-
ouai ok j'ai fait la bouse j'ai pris les 'candidate'
je recommence avec les current...
VIc
-
ca fait la meme chose
en fait il me sort:
0 [main] sh 1880 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump
./libtool: line 1: 1880 Segmentation fault (core dumped) ar x $xabs
le probleme c'est que je ne sais pas qui a ecrit ca (make, ar, sh...)
c'est con parceque sous linux tout se passe bien
a+*
Vic
-
généralement lorsqu'il y a un stack dump, c'est un bug, je dirais de MSYS, essaye en prenant une version antérieur (la version de MSYS n'est pas trop importante, c'est juste le bash). Et essaye de voir sur la mailing-list de mingw si qqun n'a pas déjà rencontré ce problème avec la version de MSYS.
-
WHAAAAWOOOOOOO
cool merci merci merci
je suis arrivé à compliler avec la premiere version de sh.
Il ne reste plus qu'a faire les DLL :?
Merci beaucoup pour ton aide Hypnos :)
Vic
-
Pas de problèmes, on est là pour ça 8) 8)
Et bon courage pour la suite ;).