Sto tentando di configurare il mio progetto in VS2012 per compilare ed eseguire correttamente un codice OSG per il debug. Sto anche usando le librerie di debug di OSG. Compilazione e collegamento terminano correttamente ma dopo aver eseguito il file binario viene visualizzato un errore che indica che manca MSVCR120D.dll
.VS2012 MSVCR120D.dll manca
Stavo cercando una soluzione a questo errore tutto il giorno e non ha senso per me, perché sto usando VS2012 che dovrebbe usare MSVCR110D.dll
. Inoltre non ho questo dll in C:\Windows\System32
, c'è solo MSVCR120.dll
e le sue versioni precedenti.
Se provo a compilare il progetto in modalità di rilascio utilizzando le librerie osg non-debug, tutto funziona correttamente e normalmente posso eseguire il progetto senza errori.
Facendo riferimento alla domanda this stavo cercando di giocare con le impostazioni MFC
e Runtime Library
ma solo le librerie di rilascio funzionano del tutto.
Ho bisogno di eseguirlo con le librerie di debug perché voglio usare Visual Leak Detector che non funziona con le librerie di rilascio. Questo è parte del codice che sto usando (le librerie OSG sono compilate con lo stesso VS2012).
#include "stdafx.h"
#include <windows.h>
// osg libs
#include <osgViewer/Viewer>
int main(int argc, char **argv) {
osgViewer::Viewer viewer;
while (!viewer.done()) {
viewer.frame();
}
return 0;
}
Ecco gli screenshot delle impostazioni del mio progetto che causa l'errore:
General settings of project C/C++ Code Generation submenu
Stai usando solo i binari errati, ey sono stati creati per essere usati su VS2013. Avrai bisogno di quelli compatibili con VS2012. –
Intendi le librerie OSG? È strano, perché ho compilato osg libs da solo con lo stesso VS2012, che sto usando ora. – Kalam
Noet che ho anche VLD che funziona in Release. Non penso che sia limitato a funzionare solo in modalità debug. –