Dll compil avec vc++2005 fonctionne, mais pas si compil avec vc++2008 [Résolu]

Signaler
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008
-
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008
-
Bonjour a tous, et desolé, c'est surement tres simple, mais ça fait 3 jours que je cherche et je ne trouve pas .
Ma dll compillée avec vc++2005 fonctionne tres bien, mais pas si compillé avec vc++2008.
Enfin, elle tourne que sur la machinne qui a compillé .
Mais je n'ai pas de message d'erreur, juste rien, elle ne se charge pas !
J'ai dc copié/collé la ligne de comande de vc2005 pr recompiller avec les meme option sous vc2008 : rien .
J'ai aussi fait un export/import de setting : rien

J'ai changé l'option /MD en /MT, et la dll se charge, mais ne fonctionne pas, sur aucune machinne .
Cela dit, l'option /MD sous vc2005 fait une dll qui tourne tres bien sur tout les pc ...

Voici mes lignes de commande :

cl.exe /O2 /Ob1 /I "C:\Program Files\Microsoft Platform SDK\Include" /I "C:\Program Files\Microsoft Platform SDK\Include\atl" /I "C:\Softimage\XSI_6.0\XSISDK\include" /D "_SHIP" /D "UNICODE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "gudd_EXPORTS" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_UNICODE" /GF /FD /EHsc /MD /Gy /Yu"stdafx.h" /Fp".\ShpUnx86/gudd.pch" /Fo".\ShpUnx86/" /Fd".\ShpUnx86/" /W3 /c /TP ".\gudd.cpp" /nologo /errorReport:prompt

pareil pr ".\StdAfx.cpp"

link.exe /OUT:"GUDD.dll" /INCREMENTAL:NO /LIBPATH:"C:\Softimage\XSI_6.0\XSISDK\lib\nt-x86" /LIBPATH:"C:\Program Files\Microsoft Platform SDK\Lib" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\lib" /DLL /MANIFEST /MANIFESTFILE:".\ShpUnx86\GUDD.dll.intermediate.manifest" /DEF:".\gudd.def" /PDB:".\ShpUnx86/gudd.pdb" /IMPLIB:".\ShpUnx86/gudd.lib" /MACHINE:X86 odbc32.lib odbccp32.lib kernel32.lib ".\ShpUnx86\gudd.obj" ".\ShpUnx86\StdAfx.obj"

mt.exe /nologo /outputresource:".\GUDD.dll;#2" /manifest ".\ShpUnx86\gudd.dll.intermediate.manifest"

Je suis vraiment désolé, mais je ne comprend pas, et je ne voudrais pas desinstaller 2008 pr installer 2005 , non ???

Merci d'avance

Cordialement,
zozi

4 réponses

Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

Ok, je me répond a moi meme, ça peut aider qqun d'autre .
La seule modif que j'ai vraiment faite est finalement sur les proprietees du projet :

1) C++ -> Code Generation ->  runtime lib = MT
2) linker -> system -> subsystem = Windows (/SUBSYSTEM:WINDOWS)
3 ) linker -> system -> optimisation = tout au defaut

A+ et merci encor
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
TEMPLATES C/C++ POUR VS 2008
http://www.cppfrance.com/code.aspx?ID=44835

Il y a un template pour DLL.
S'abstenir si C++, MFC ou autre plaisanterie de ce genre inutile et nuisible dans une DLL.

ciao...
BruNews, MVP VC++
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

Helas, non, cela ne change rien : compil ok, fctionne ok, mais se load seulement sur le pc qui compille ...
°(

merci quand meme
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

ps : j'ai un warning : 

CIL library( CIL module) : warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators

Tu crois que ça peut etre ça ( j'ai regarder une solus a ce pd : http://discuss.develop.com/archives/wa.exe?A2=ind0306d&L=dotnet-rotor&P=773 , mais je ne la comprend pas bien ....