मैं सी परियोजना को पोर्ट करने जा रहा हूं जो विंडोज़ में यूनिक्स के लिए था। अब तक, मैं इसे संकलित कर सकता हूं लेकिन निर्माण नहीं कर सकता। समस्या मैं हो रही है, है कार्य करता है जो हेडर फाइल घोषित किये गए हैं में से कुछ याक files.so मैं निम्नलिखित त्रुटियाँ हो रही है में परिभाषित कर रहे हैं:दृश्य स्टूडियो में yacc और bison
error LNK2001: unresolved external symbol function_name
मैं में .y और .l फ़ाइलों को जोड़ने हूँ प्रोजेक्ट की स्रोत निर्देशिका। मुझे लगता है कि मैं विंडोज़ संस्करण में बंदरगाह फ़ाइलों को बंद नहीं कर सकता था या मैं कुछ बेवकूफ कर रहा हूं। मैं इसे वेब पर खोजता हूं लेकिन इसके लिए उचित ट्यूटोरियल नहीं मिल सका। क्या आप कृपया मुझे
- मैं प्रोजेक्ट में .y या .l फ़ाइलों को कैसे जोड़ सकता हूं।
- मैं उन फ़ाइलों को विंडोज़ के अनुकूल कैसे बनाऊंगा?
- मैं उन्हें अन्य ऑब्जेक्ट फ़ाइलों से कैसे जोड़ सकता हूं।
संपादित
मैं flex.exe
.Following का उपयोग कर .yy.c
फाइलों में .l
फ़ाइल में बदलाव के साथ की कोशिश की कमान के लिए यह
c:\> flex.exe name.l
जाना चाहिए है कि दोनों flex.exe और नाम। एल C;>
में हैं .और मैंने उन सभी फ़ाइलों को .l .y(previously present for parsing in unix system) .yy.c(corrsonding yacc file for windows)
पहले एक्सिसिटिंग प्रोजेक्ट के समाधान में लोड किया था। एक बार मैं संकलन, मैं निम्नलिखित
Can't read the header file parserheaderfile.h
इस हेडर फाइल जो यूनिक्स प्रणाली में bison
द्वारा उत्पन्न किए जाने की जरूरत है मिलता है। तो मुझे लगता है कि मैं bison
windows
के लिए संगत बनाने में सक्षम नहीं हूं। इसलिए कृपया मुझे बताएं कि मैं इस समस्या को कैसे हल कर सकता हूं?
अग्रिम धन्यवाद।
क्या यह कुछ है जब आप प्रत्येक बार f/lex और/या bison/yacc का उपयोग करके एक नई परियोजना शुरू करते हैं? या आप इसे एक बार सेट कर सकते हैं और वीएस हमेशा के लिए सेटिंग्स को हमेशा याद रखेगा? साथ ही, क्या उन पुस्तकालयों का उपयोग करने के लिए कोई अनुशंसित आईडीई है? जीसीसी के साथ संकलित करने से पहले आपको कमांड लाइन से चीजें करना कभी-कभी परेशान हो सकता है जब आपको f/lex और/या bison/yacc चलाने की आवश्यकता होती है। – velocirabbit
@velocirabbit यह एक परियोजना विशिष्ट सेटिंग है। तो आपको इसे प्रत्येक .l या .y फ़ाइल के लिए कॉन्फ़िगर करने की आवश्यकता है। – Rudi