Comment créer une dll windows avec Cygwin ?

Le
PhilTheGap
Bonjour,

Nous voulons utiliser du code Cygwin parce qu'il tourne bien (c'est un
produit que l'on vend) mais nous
voulons l'utiliser avec une nouvelle interface graphique .Net sous Windows
(WPF). Donc nous ne voulons pas porter le code en .NET.

Donc l'appli est écrite en .NET pour l'interface et appelle du code Cygwin,
que l'on va donc devoir charger en tant que DLL. C'est là qu'est l'os. On
peut compiler et faire une DLL mais nous avons le droit ensuite dans le code
.Net à un DllNotFoundException (pourtant on fait un DLLImport et tout ce
qu'il faut en .Net).

En creusant un peu on s'est rendu compte qu'il manquait un "point d'entrée"
DLL_Main pour que celle ci soit chargée (comme par ex user32.dll que nous
chargeons sans pb).

Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention

Cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
antoine
Le #17882091
"PhilTheGap" news:4922996d$0$28669$
Bonjour,

Nous voulons utiliser du code Cygwin parce qu'il tourne bien (c'est un
produit que l'on vend) mais nous
voulons l'utiliser avec une nouvelle interface graphique .Net sous Windows
(WPF). Donc nous ne voulons pas porter le code en .NET.

Donc l'appli est écrite en .NET pour l'interface et appelle du code
Cygwin, que l'on va donc devoir charger en tant que DLL. C'est là qu'est
l'os. On peut compiler et faire une DLL mais nous avons le droit ensuite
dans le code .Net à un DllNotFoundException (pourtant on fait un DLLImport
et tout ce qu'il faut en .Net).

En creusant un peu on s'est rendu compte qu'il manquait un "point
d'entrée" DLL_Main pour que celle ci soit chargée (comme par ex user32.dll
que nous chargeons sans pb).

Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????



Tu es sûr du "DLL_Main" ? Normalement, c'est "DllMain" par défaut
Sur cette page
http://www.koders.com/c/fid9F7C155952BEDE8C1E072675F8D5B12ECC3409B2.aspx?s=suck
il est dit :
" Cygwin: The default entry point for Cygwin b20.1 or newer is
__cygwin_dll_entry which is defined in libcygwin.a. This in turn
calls the routine DllMain. If not defined, there is a stub in
libcygwin.a which does nothing."
Nico
Le #17882301
PhilTheGap wrote:
Bonjour,
//
Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention



Il y a ça dans la doc en ligne :
http://cygwin.com/cygwin-ug-net/dll.html
PhilTheGap
Le #17883421
Bonjour Antoine,
"antoine" news:gfuf7f$dh1$

Tu es sûr du "DLL_Main" ? Normalement, c'est "DllMain" par défaut


Non car je n'ai pas le code sous les yeux, c'était de mémoire. Je transmets
à mon collègue codeur au bureau asap.

Merci !!
PhilTheGap
Le #17883411
Bonour Nico,
"Nico" news:gfufkk$42e$
PhilTheGap wrote:
Bonjour,
//
Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention



Il y a ça dans la doc en ligne :
http://cygwin.com/cygwin-ug-net/dll.html


Je vais regarder.

Merci !
Publicité
Poster une réponse
Anonyme