2014-04-07 20 views
7

मैं अपना पहला एटीएल डीएलएल प्रोजेक्ट बनाने की कोशिश कर रहा हूं, जिसमें मैं एडीओडीबी का उपयोग कर रहा हूं। यहां मुद्दा यह है मैं name followed by '::' must be a class or namespace namespADOConnection मिल रहा expected a ';' प्राप्त प्रत्येक ADODB वर्गत्रुटि: '::' के बाद नाम एक वर्ग या नामस्थान नाम होना चाहिए

ADODB::_ConnectionPtr spADOConnection; 

को रेखांकित किया जब मैं ADODB::_ConnectionPtr पर माउस के ऊपर से गुजरती है कि मैं हो रही है। इसका क्या मतलब है, कृपया? मैं इसे कैसे ठीक कर सकता हूं?

बहुत बहुत धन्यवाद!

+2

ऐसा लगता है कि सी ++ नहीं जानता है कि एडीओडीबी एक वर्ग या नामस्थान है, क्या आपकी परियोजना में सबकुछ सही ढंग से शामिल/जुड़ा हुआ है? क्या आप संकलन के दौरान कोई बाहरी प्रतीक त्रुटियां प्राप्त कर रहे हैं? –

+0

@ Gmercer015, मैंने सही ढंग से 'msado60.dll' शामिल किया है, हां मुझे 'एलएनके 2001: अनसुलझा बाहरी प्रतीक" पर बाहरी प्रतीक मिल रहा है: आभासी लंबा __stdcall CTProcessus :: Init (कक्षा ATL :: CStringT>>, wchar_t *, wchar_t *, wchar_t *) " –

+2

आप डीएलएल शामिल नहीं करते हैं, आप हेडर फाइलें शामिल करते हैं। – juanchopanza

उत्तर

10

कंपाइलर ADODB की घोषणा का पता लगाने में असमर्थ है। सुनिश्चित करें कि आप अनुवाद इकाई में प्रासंगिक शीर्षलेख शामिल करते हैं जहां संकलक शिकायत करता है।

+0

से शामिल होंगे, मुझे लगता है कि मैंने सही ढंग से 'msado60.dll' –

+1

शामिल किया है संकलक को डीएलएल के साथ कुछ भी नहीं मिला है जो बाद में चरण में आता है। कोड कोड चरण में यह अधिक है जहां संकलक को उस प्रकार को सत्यापित करने की आवश्यकता है जिसे आप उपयोग करने का प्रयास कर रहे हैं। एक शीर्षलेख होना चाहिए जहां टाइप 'एडीओडीबी' पेश किया गया हो। सुनिश्चित करें कि यह उस स्रोत फ़ाइल में शामिल है जिसे आप संकलित करने का प्रयास कर रहे हैं। – legends2k

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