das Animationsproblem aus dem anderen Thread ist zwar noch nicht gelöst, aber ich habe momentan nicht genug Zeit, einen ausführlichen Post mit meinem Code dazu zu erstellen... Bis dahin kümmere ich mich eben um andere Dinge, momentan das statische Linken von Assimp. Zuerst habe ich dynamisch gelinkt, das hat wunderbar funktioniert und hatte keine Memory Leaks (ich verwende VLD für das Tracking). Dann habe ich eine statische Bibliothek des Typs Multithreaded Debug für meine Debug-Konfiguration erstellt. Auch hier läuft alles ohne Probleme, beim Beenden meldet VLD allerdings einige Memory Leaks nach dem Muster:
Code: Alles auswählen
---------- Block 183709 at 0x061E88F8: 0 bytes ----------
Call Stack:
0x009EEF39 (File and line number not available): Assimp::XFileImporter::CreateAnimations
0x009ECDDF (File and line number not available): Assimp::XFileImporter::CreateDataRepresentationFromImport
0x009ECC5C (File and line number not available): Assimp::XFileImporter::InternReadFile
0x009F2937 (File and line number not available): Assimp::BaseImporter::ReadFile
0x007EEA0B (File and line number not available): Assimp::Importer::ReadFile
0x007DA7DD (File and line number not available): aiImportFileEx
0x007DA5CD (File and line number not available): aiImportFile
c:\prog\src\modellib\model.cpp (306): Model::Init
...
Data:
Code: Alles auswählen
g_pScene = aiImportFile(m_sModelPath.mb_str(), aiProcessPreset_TargetRealtime_MaxQuality);
Code: Alles auswählen
aiReleaseImport(g_pScene);
Weiß einer, was hier passiert? Ist das ein Problem des statischen Linkens? Wie gesagt, mit der dynamischen Bibliothek wurden keine Leaks angezeigt. Ich verwende übrigens Visual Studio 2008 Professional und die Assimp-Version 2.0. Es ist ja nicht so, dass das jetzt die wahnsinnigen Löcher in den Speicher reißen würde, nur ist man doch immer bestrebt, alle Memory Leaks aus dem Code zu bekommen.
Ich hoffe, da kann einer helfen.
Gruß
mOfl
Edit: Neben den vielen gleichlautenden Leaks wird auch noch ein einziger gefunden:
Code: Alles auswählen
---------- Block 163491 at 0x061B3068: 4 bytes ----------
Call Stack:
0x007EA607 (File and line number not available): Assimp::Intern::AllocateFromAssimpHeap::operator new
0x007EA797 (File and line number not available): Assimp::Importer::Importer
0x007DA6E2 (File and line number not available): aiImportFileEx
0x007DA5CD (File and line number not available): aiImportFile
c:\prog\src\modellib\model.cpp (306): Model::Init
...
Data:
44 63 CC 00 Dc...... ........