VC9 und VC8 lib-Kompatibilität
(Die ursprüngliche Frage war, fragte es : http://www.ogre3d.org/phpBB2/viewtopic.php?t=44832 )
Jemand fragte :
"Ich würde gern alles in vs2008 (VC9), die die PhysX SDK ist gebaut mit vs2005 (VC8). Würde das keine Probleme verursachen, mit allen vc9 kompiliert libs und in Kombination mit diesem vc8 lib?"
Antwortete ich, dass der Tag, bevor ich versucht zu verwenden .lib-Datei (und ein .dll), generiert mit VC8 und es in einer vc9 kompilierte exe-Datei, die der compiler konnte nicht geöffnet werden .lib-Datei.
Nun, andere beantwortet Sie Tat dies ohne Probleme....
Ich kann nicht finden, die Informationen über lib-Kompatibilität zwischen vc9 und vc8.
so... Hilfe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lib-format COFF (http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.71).aspx), auch COFF verwendet wird, im PE-format.
Also ich würde erwarten, dass die meisten, wenn nicht alle Bibliotheken mit vc8 werden verbindbar mit vc9.
Jedoch fand ich einen thread auf msdn, wo MS scheint nicht zu garantieren, dass die libs kompiliert mit VC8 link schön mit VC9. http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/8042a534-aa8b-4f99-81ee-e5ff39ae6e69/)
Unter Berücksichtigung dieser 2 bits von Infos würde ich schlussfolgern: Obwohl MS nicht garantieren 100% Kompatibilität ich würde erwarten, dass in den meisten Fällen die Verknüpfung eines vc8 lib mit vc9 zu arbeiten.
Hoffe, das hilft.
P. S. Du schreibst "der compiler konnte nicht geöffnet werden .lib-Datei.". Der linker ist einer, der versucht, öffnen Sie die Bibliotheken verknüpft werden, nicht der compiler.
Es funktioniert, aber Sie bekommen, Probleme beim Austausch von CRT - /STL-Objekte.
Also, wenn Sie einen 'neuen' in einer vc8 Bibliothek und lege diese auf eine vc9-Funktion, die wiederum löscht dieses Objekt, erhalten Sie eine Assertion aus löschen.