2011-02-08 11 views
8

मैं विजुअल स्टूडियो 2008 यह इस तरह के रूप में कई हेडर फाइल में परिभाषित संरचनाओं, का एक बहुत कुछ है में एक सी ++ आवेदन लिख रहा हूँ:परिभाषा पर जाएं विफल - विजुअल स्टूडियो 2008

#pragma pack(push , 1)    // align on a 1-byte boundary 

typedef struct myStruct_tag 
{ 
    /* ... */ 
} myStruct_t; 

#pragma pack(pop)      // end 1-byte boundary alignment 

एक स्रोत फ़ाइल में, इन परिभाषित संरचनाओं जैसे उपयोग किया जाता है:

void MyFunc(void) 
{ 
    myStruct_t * myStruct = NULL; 

    myStruct = (myStruct_t *)malloc(sizeof(myStruct_t)); 

    /* and so forth and so on... */ 
} 

भले ही यह सफलतापूर्वक, 0 त्रुटियों और 0 चेतावनी के साथ संकलित कभी कभी जब मैं (जैसे MyFunc के रूप में) एक कस्टम डेटा प्रकार राइट क्लिक करें यह मुझे एक त्रुटि देता है:

The symbol 'myStruct_t' is not defined.

तब मैं ठीक क्लिक करें संवाद बॉक्स बंद करने और समाधान के पुनर्निर्माण के लिए Ctrl +Alt + एफ 7 दबाएँ। यह किसी भी त्रुटि या चेतावनी के बिना बनाता है, इसलिए मुझे पता है कि यह myStruct_t की परिभाषा हो रही है जब यह संकलित है, लेकिन यह यह नहीं मिल सकता है जब मैं परिभाषा सुविधा के लिए जाओ उपयोग करने के लिए प्रयास करें। केवल एक चीज है कि मेरे पास होता है कि इस आवेदन परिभाषित संरचनाओं, एकल-बाइट गठबंधन का एक बहुत है, लेकिन यह एक फर्क नहीं करना चाहिए। क्या कोई जनता है कि यह कैसे ठीक किया जाता है?

उत्तर

9

अपने समाधान को बंद करने और फिर * .sdf फ़ाइल को हटाने का प्रयास करें। जब आप अपना समाधान दोबारा खोलते हैं तो इंटेलिसेंस को इसके डेटाबेस को पुनर्निर्माण करने के लिए मजबूर किया जाएगा और इससे आपकी समस्या हल हो सकती है।

संपादित करें: फिक्स्ड गलती बताया

संपादित करें 2: विरासत के लिए, यदि आप दृश्य स्टूडियो का उपयोग कर रहे 2008 या उससे अधिक है, आप सभी * .ncb फ़ाइलों को हटाने चाहिए।

+0

यह चाल किया! धन्यवाद! –

+0

विजुअल स्टूडियो 2010 में कोई * .ncb फ़ाइलें नहीं हैं; अब यह * .sdf फ़ाइलों का उपयोग करता है – Loghorn

+0

मेरी गलती। मैं वीएस 2008 का उपयोग कर रहा हूं। मैं तदनुसार ओपी अपडेट करूंगा। –

1
  1. दृश्य स्टूडियो प्रक्रिया समाप्त करें। (दृश्य स्टूडियो 2005 में दृश्य स्टूडियो प्रक्रिया मारे जाने पर सभी *.ncb फ़ाइलों को हटाने की आवश्यकता हो सकती है)
  2. समाधान को दोबारा खोलें और समाधान साफ़ करें: Build -> Clean Solution
संबंधित मुद्दे