मैंने एक पुराने वर्कस्पेस खोला है जो लाइबेरे और इसकी टेस्ट दोहन है। यह ठीक काम करता था लेकिन अब कोड के पुराने संस्करण पुराने त्रुटियों के साथ काम नहीं करते हैं। मैंने प्रोजेक्ट को दोबारा बनाने की कोशिश की है और यह भी वही त्रुटियों का कारण बनता है। प्रोजेक्ट सेटिंग्स में ऑर्डर से कुछ भी नहीं लगता है और मुख्य ऐप में कोड जेनरेट काम करता है।
मैंने अधिकांश फाइलों को तोड़ दिया है और त्रुटि उत्पन्न करने के लिए इसे न्यूनतम से कम कर दिया है। दुर्भाग्य से मैं प्रोजेक्ट पोस्ट नहीं कर सकता क्योंकि इसका उत्पादन कोड में उपयोग किया जाता है।
मुझे लगता है कि LNK2001 लिंकर त्रुटि आमतौर पर मुझे लाइब्रेरी छोड़ दी गई है या वर्चुअल फ़ंक्शन को लागू करने के लिए भूल गई है। हालांकि यह मानक टेम्पलेट लाइब्रेरी का हिस्सा है - और उस पर एक शीर्षलेख है।
कोड जो IOCompletionPort.obj में समस्या के रूप में सूचीबद्ध है, वास्तव में std :: string
का उपयोग नहीं करता है, लेकिन एक वर्ग को कॉल करता है जो करता है: comms :: अपवाद
एक std :: string
और GetLastError
या WSAGetLastError
का मान स्वीकार करता है।
त्रुटि में वर्णित फ़ंक्शन ( GetMessage
) लागू किया गया है, लेकिन एक वर्चुअल फ़ंक्शन है, इसलिए यदि आवश्यक हो तो अन्य कक्षाएं इसे ओवरराइड कर सकती हैं। हालांकि ऐसा लगता है कि कंपाइलर ने इसे एक Ansi संस्करण के रूप में बनाया है, लेकिन मुझे सेटिंग्स में कोई विकल्प नहीं मिल रहा है जो इसे नियंत्रित करेगा। मुझे संदेह है कि समस्या हो सकती है लेकिन लाइब्रेरी के विकल्पों के रास्ते में बहुत कम है क्योंकि मेरे पास निश्चित रूप से जानने का कोई तरीका नहीं है। हालांकि कंपाइलर विकल्पों में _एमबीसीएस निर्दिष्ट करने के लिए दोनों परियोजनाएं।
--------------------Configuration: TestComms - Win32 Debug-------------------- Linking... Comms.lib(IOCompletionPort.obj)
: error LNK2001: unresolved external symbol "public: virtual class
std::basic_string,class
std::allocator > __thiscall
Comms::Exception::GetMessageA(void)const " ([email protected]
[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ)
Debug/TestComms.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
TestComms.exe - 2 error(s), 0 warning(s)
कोई सुझाव? मैंने इसे सुबह सुबह खो दिया है और ज्यादातर दोपहर भी खोना नहीं चाहता हूं।