गुम है, मैं डीएसगिंग के लिए ओएसजी कोड सफलतापूर्वक संकलित और चलाने के लिए अपनी परियोजना को VS2012 में स्थापित करने का प्रयास कर रहा हूं। मैं ओएसजी डीबग पुस्तकालयों का भी उपयोग कर रहा हूं। संकलन और लिंकिंग सफलतापूर्वक समाप्त हो जाती है लेकिन बाइनरी चलाने के बाद मुझे एक त्रुटि मिलती है कि MSVCR120D.dll
गुम है।VS2012 MSVCR120D.dll
मैं पूरे दिन इस त्रुटि का समाधान ढूंढ रहा था और यह मुझे समझ में नहीं आता है, क्योंकि मैं वीएस2012 का उपयोग कर रहा हूं जिसे MSVCR110D.dll
का उपयोग करना चाहिए। मेरे पास C:\Windows\System32
में यह डीएल भी नहीं है, केवल MSVCR120.dll
और इसके पुराने संस्करण हैं।
यदि मैं गैर-डीबग ओएसजी पुस्तकालयों का उपयोग कर रिलीज मोड में प्रोजेक्ट को संकलित करने का प्रयास करता हूं तो सबकुछ ठीक है और मैं सामान्य रूप से त्रुटियों के बिना प्रोजेक्ट चला सकता हूं।
this प्रश्न का जिक्र करते हुए मैं MFC
और Runtime Library
सेटिंग्स के साथ खेलने की कोशिश कर रहा था लेकिन केवल पुस्तकालयों को ही रिलीज़ करता हूं।
मुझे इसे डीबग पुस्तकालयों के साथ चलाने की आवश्यकता है क्योंकि मैं विजुअल लीक डिटेक्टर का उपयोग करना चाहता हूं जो रिलीज पुस्तकालयों के साथ काम नहीं करता है। यह मैं जिस कोड का उपयोग कर रहा हूं उसका हिस्सा है (ओएसजी libs एक ही वीएस2012 के साथ संकलित हैं)।
#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;
}
यहाँ कि त्रुटि का कारण बनता है अपने प्रोजेक्ट की सेटिंग के स्क्रीनशॉट हैं:
General settings of project C/C++ Code Generation submenu
आप केवल गलत बाइनरी का उपयोग कर रहे हैं, वें आईएस को वीएस2013 पर इस्तेमाल करने के लिए बनाया गया था। आपको उन लोगों की आवश्यकता होगी जो VS2012 के अनुकूल हैं। –
क्या आपका मतलब ओएसजी पुस्तकालय है? यह अजीब है, क्योंकि मैंने स्वयं VS2012 के साथ osg libs संकलित किया है, जिसका उपयोग मैं अब कर रहा हूं। – Kalam
नोएट कि मेरे पास वीएलडी रिलीज में भी काम कर रहा है। मुझे नहीं लगता कि यह केवल डीबग मोड में काम करने के लिए प्रतिबंधित है। –