2013-02-15 64 views
6

मैं सी ++ में एक साधारण ईमेल भेज रहा हूं। मैंने नीचे दिए गए लिंक से एक नमूना सी ++ प्रोग्राम डाउनलोड किया। http://cboard.cprogramming.com/cplusplus-programming/125655-sending-simple-email-cplusplus.html नमूना प्रोग्राम संकलित होने पर निम्न त्रुटि को प्रभावित करता प्रतीत होता है। कृपया समाधान के साथ मेरी मदद करें।त्रुटि को हल करने के लिए कैसे करें LNK2019

Error 8 error LNK2019: unresolved external symbol _send_mail referenced in function _wmain 

Error 9 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected])  

Error 10 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected]) 

Error 11 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected])  

Error 12 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected]) 

Error 13 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected]) 

Error 14 error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl connect_to_server(char const *)" ([email protected]@[email protected])  
+0

आप एक स्रोत फ़ाइल या एक पुस्तकालय गायब हो रहे हैं सॉकेट ODBC और सर्वर कनेक्शन को शामिल त्रुटियों के लिए माइक्रोसॉफ्ट एसडीके पुस्तकालयों के साथ अपनी परियोजना से जोड़ने के लिए की जरूरत है। –

+0

बहुत यकीन है कि आपने स्रोत को संकलित नहीं किया है या इसके खिलाफ लिंक नहीं किया है। –

उत्तर

3

यदि आप error LNK2019: unresolved external देखते हैं तो ऐसा लगता है कि समस्या उपप्रणाली को स्थापित कर रही है। आपका प्रश्न error LNK2019: unresolved external symbol से संबंधित है।

+2

मुझे समस्या मिली है WS2_32.lib गुणों में जोड़ा जाना चाहिए-> लिंकर-> इनपुट-> अतिरिक्त निर्भरता। नीचे दी गई त्रुटि को छोड़कर सभी त्रुटियां चली गई हैं। कृपया मुझे बाहर निकालें। त्रुटि त्रुटि LNK2019: फ़ंक्शन _wmain – user1

+0

'send_mail' में संदर्भित अनसुलझा बाहरी प्रतीक _send_mail को उस साइट पर स्रोत कोड में परिभाषित किया गया है [http://cboard.cprogramming.com/cplusplus-programming/125655- भेजने-सरल-ईमेल-cplusplus.html)। इसे 'smtpfuncs.c' कहा जाता है। आपको इसे संकलित करने और इसे लिंक करने की आवश्यकता है। –

+1

हाय पीटर उत्तर के लिए धन्यवाद, मैंने smtpfuncs.c के बजाय smtpfuncs.cpp का उपयोग किया, लेकिन इसमें बड़ा सौदा क्या है। जब मैं .c में सहेजता हूं और .cpp. में सहेजे जाने पर लिंकर pblm देता हूं तो यह काम नहीं करता है । – user1

9

मुझे एक ही त्रुटि का सामना करना पड़ा ("एलएनके201 9: अनसुलझा बाहरी प्रतीक ....")। मेरे शीर्षलेख और कॉल सही ढंग से परिभाषित किए गए थे, और यह केवल डीबग मोड (डीबग मोड में कोई शिकायत नहीं) में लिंक करने में विफल रहा। यह पता चला कि मेरी समस्या गलत .vcxproj फ़ाइल के कारण हुई थी।

जब मैंने vxcproj फ़ाइल को संपादित करके अपनी परियोजना में नई निर्भरताएं जोड़ दीं, तो मैंने गलती की: मैंने सोचा कि दोनों खंड फ़ाइल एक्सटेंशन को छोड़कर समान थे, इसलिए मैंने पहले <ItemGroup> से दो पंक्तियों की प्रतिलिपि बनाई अंतिम <ItemGroup> (नीचे देखें)।

यह थोड़ी देर के लिए अनजान हो गया, क्योंकि मैंने रिलीज मोड में कोड संकलित करने के लिए बैच स्क्रिप्ट का उपयोग किया था। जब मैं पर स्विच किया गया मोड डीबग, परियोजना लिंकिंग चरण में विफल रही। अंत में, मैं अपने त्रुटि की खोज की, और निम्न पैच के साथ समस्या का समाधान:

- <ClCompile Include="crypto/crypto.h" /> 
- <ClCompile Include="crypto/rsa_public_key.h" /> 
+ <ClInclude Include="crypto/crypto.h" /> 
+ <ClInclude Include="crypto/rsa_public_key.h" /> 
.vcxproj फ़ाइल के

छोटी गाड़ी संस्करण:

<ItemGroup> 
    ... 
    <ClCompile Include="main.cpp" /> 
    <ClCompile Include="crypto/crypto.cpp" /> 
    <ClCompile Include="crypto/rsa_public_key.cpp" /> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="main.def" /> 
    </ItemGroup> 
    <ItemGroup> 
    ... 
    <ClInclude Include="main.h" /> 
    <ClCompile Include="crypto/crypto.h" /> 
    <ClCompile Include="crypto/rsa_public_key.h" /> 
    </ItemGroup> 
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 
    <ImportGroup Label="ExtensionTargets"> 
    </ImportGroup> 
</Project> 

निष्कर्ष: किसी LNK2019 जब आप हो और कोई भी स्पष्टीकरण की इंटरनेट सहायता पर, अपनी परियोजना सेटिंग्स की जांच करें। यदि आप संस्करण नियंत्रण का उपयोग करते हैं, तो वर्तमान प्रोजेक्ट फ़ाइल की तुलना एक ज्ञात-पुराने पुराने संस्करण से करें।

8

शायद आपने कक्षा में फ़ंक्शन घोषित कर दिया है, लेकिन इसकी परिभाषा में स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग करना भूल गया है। कम से कम यही मुझे त्रुटि देता है।

4

मेरे मामले में ऐसा इसलिए हो रहा था क्योंकि एक सार वर्ग में एक विधि वर्चुअल थी लेकिन किसी भी उप वर्ग में लागू नहीं किया गया था।

हालांकि, यह उस एलएनके त्रुटि के कई कारणों में से एक हो सकता है।

2

शायद आप प्रोजेक्ट में कुछ स्रोत कोड फ़ाइलों को शामिल करना भूल गए हैं, या आप फ़ंक्शन को लागू करना भूल गए हैं, ताकि आपका कंपाइलर इसे नहीं ढूंढ सके। ("एलएनके201 9: अनसुलझा बाहरी प्रतीक ....")।

+0

यह शायद एक टिप्पणी के रूप में बेहतर होगा। – lmo

1

MSDN page पर दो बिंदुओं को लागू किया गया जहां मॉड्यूल विस्तृत घोषणाओं के अनुरूप परिवर्तनीय नामों के बजाय फ़ंक्शन पैरामीटर पॉइंटर्स के रूप में पारित किए गए थे।

-1

मुझे यह त्रुटि थी - और मेरी समस्या यह थी कि मैं एक ऐसा फ़ंक्शन कॉल करता हूं जो अस्तित्व में नहीं था। तो विजुअल स्टूडियो इस पुस्तकालय को अन्य पुस्तकालयों और डीएलएस में देखता है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^