मैंने एक पुराने वर्कस्पेस खोला है जो लाइबेरे और इसकी टेस्ट दोहन है। यह ठीक काम करता था लेकिन अब कोड के पुराने संस्करण पुराने त्रुटियों के साथ काम नहीं करते हैं। मैंने प्रोजेक्ट को दोबारा बनाने की कोशिश की है और यह भी वही त्रुटियों का कारण बनता है। प्रोजेक्ट सेटिंग्स में ऑर्डर से कुछ भी नहीं लगता है और मुख्य ऐप में कोड जेनरेट काम करता है।लिंक समस्याएं (वीसी 6)
मैंने अधिकांश फाइलों को तोड़ दिया है और त्रुटि उत्पन्न करने के लिए इसे न्यूनतम से कम कर दिया है। दुर्भाग्य से मैं प्रोजेक्ट पोस्ट नहीं कर सकता क्योंकि इसका उत्पादन कोड में उपयोग किया जाता है।
एलएनके 2001 लिंकर त्रुटि मुझे आम तौर पर लगता है कि मैंने पुस्तकालय छोड़ दिया है या वर्चुअल फ़ंक्शन को लागू करने के लिए भूल गए हैं। हालांकि यह मानक टेम्पलेट लाइब्रेरी का हिस्सा है - और उस पर एक शीर्षलेख है।
कोड कि IOCompletionPort.obj में समस्या वास्तव में सीधे std::string
का उपयोग नहीं करता होने के रूप में सूचीबद्ध है, लेकिन एक वर्ग करता है फोन करता है: Comms::Exception
स्वीकार करता है एक std::string
और GetLastError
या WSAGetLastError
का मूल्य।
त्रुटि में उल्लिखित कार्य (GetMessage
) लागू किया गया है, लेकिन एक वर्चुअल फ़ंक्शन है इसलिए अन्य कक्षाएं आवश्यकता होने पर इसे ओवरराइड कर सकती हैं। हालांकि ऐसा लगता है कि कंपाइलर ने इसे एक Ansi संस्करण के रूप में बनाया है, लेकिन मुझे सेटिंग्स में कोई विकल्प नहीं मिल रहा है जो इसे नियंत्रित करेगा। मुझे संदेह है कि समस्या हो सकती है लेकिन लाइब्रेरी के विकल्पों के रास्ते में बहुत कम है क्योंकि मेरे पास निश्चित रूप से जानने का कोई तरीका नहीं है। हालांकि कंपाइलर विकल्पों में _एमबीसीएस निर्दिष्ट करने के लिए दोनों परियोजनाएं।
-------------------- कॉन्फ़िगरेशन: टेस्टकॉम - Win32 डीबग ------------------ - लिंकिंग ... comms.lib (IOCompletionPort.obj) : त्रुटि एलएनके 2001: अनसुलझा बाहरी प्रतीक "सार्वजनिक: वर्चुअल क्लास std :: basic_string, कक्षा std :: आवंटक> __thiscall कॉमम्स :: अपवाद :: GetMessageA (शून्य) const "(? GetMessageA @ अपवाद @ कॉमम्स @@ यूबीई? एवी? $ basic_string @ डीयू? $ char_traits @ डी @ std @@ वी? $ आवंटक @ डी @ 2 @@ std @@ XZ) डीबग/टेस्टकॉम .exe: घातक त्रुटि LNK1120: 1 अनसुलझा बाहरी link.exe निष्पादित करने में त्रुटि।
TestComms.exe - 2 त्रुटि (s), 0 चेतावनी (रों)
कोई सुझाव? मैंने इसे सुबह सुबह खो दिया है और ज्यादातर दोपहर भी खोना नहीं चाहता हूं।