Bonjour,
Je dois compiler un projet sous visual 2005 SP1. une dépendances a été compilé avec visual 2008.
1/ J'ai donc commencé par installer le patch KB949009-X86 pour pouvoir linker avec le .lib compilé en 2008. (http://support.microsoft.com/kb/949009)
ca a marché, plus d'erreur de linkage.
2/ j'ai recompilé (en 2005) toutes mes dépendance (dont j'ai les sources) et l'exe apres avoir appliqué le patch, tout link toutjours bien, mais au lancement :
- en debug j'ai un message d'erreur et la console me dit "LDR: LdrpWalkImportDescriptor() failed to probe" ./ma_dll_compile_en_2008
- en release: heap corruption
3/ j'ai donc ouvert la dll 2008 avec visual, et effectivement il n'y a pas dans son manifest d'entré pour visual 2005. il ressemble a ca :
alors que dans les autres dll que je compile avec 2005 j'ai un assembly vs 8, a savoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='...' /> </dependentAssembly> </dependency>
4/ je suppose qu'il faudrait que j'ai les deux type d'assembly présent dans la dll 2008, pour qu'elle puisse etre utilisé par des binaire compilé en 2005. c'est donc la que je suis bloqué, comment rajouter cette assembly dans la dll 2008 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='...' /> </dependentAssembly> </dependency>
a la bourrin ca passe ? ou y a t'il un autre moyen de faire ?
(sachant que je n'ai pas acces aux sources de la lib compile en 2008 évidement)
Partager