2013-10-30 10 views
10

जब मैं एक बहुत ही बुनियादी सी ++ प्रोग्राम संकलित करने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिल रही है।सिगविन 64 जी ++ -फ्यूज-लिंकर-प्लगइन त्रुटि

$ g++ -fuse-linker-plugin test.cpp 
g++: fatal error: -fuse-linker-plugin, but cyglto_plugin.dll not found 
compilation terminated. 

कोड

int main() { 
     return 0; 
} 

यह जी उपयोग कर रहा है ++ सीधे एक ताजा Cygwin स्थापना से बाहर स्थापित किया।

अगर मैं वहाँ फ़ाइल के लिए खोज, यह मौजूद हैं और पर स्थित है करता है:

/usr/libexec/gcc/x86_64-pc-cygwin/4.8.2/cyglto_plugin.dll 

मैं कैसे कर सकता हूँ Cygwin 64 सही ढंग से इस पर नज़र?

उत्तर

8

मुझे लगता है कि आपने इंस्टॉलेशन में केवल gcc-g ++ पैकेज की जांच की है। ध्यान दें कि संस्करण 4.8.1-3 है लेकिन अगले पृष्ठ पर आप कई निर्भरताओं को स्थापित कर सकते हैं, उदाहरण के लिए libgcc संस्करण 4.8.2 के साथ।

4.8.1 और 4.8.2 का मिश्रण यह समस्या प्रतीत होता है।

इंस्टॉलर में, सभी निर्भरताओं को एक संपादक में कॉपी करें, समस्याग्रस्त पैकेज ढूंढने के लिए 4.8.2 की खोज करें, इंस्टॉलर में वापस जाएं और 4.8.1-3 इंस्टॉल होने तक उन पैकेजों पर क्लिक करें।

डबल चेक आप उन पैकेजों का नवीनतम संस्करण स्थापित नहीं कर रहे हैं।

+0

कि सटीक समस्या थी और यह मेरी समस्या का समाधान हो। चीयर्स !! मान लीजिए कि उन्हें सभी अपग्रेड देने से पहले, सभी संकुल को अपडेट करने की प्रतीक्षा करनी होगी। –

0

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

-fno-use-linker-plugin के साथ एलटीओ को बंद करने का विकल्प है, लेकिन यह मुझे कोई अच्छा नहीं है क्योंकि सीपीएएन जी ++ लॉन्च कर रहा है। यह एक कामकाज के रूप में काम कर सकता है।

(मैं जानता हूँ कि यह एक जवाब के ज्यादा नहीं है, लेकिन मैं टिप्पणी करने में असमर्थ था) जीसीसी के

+0

"पैकेज का चयन करें" विंडो में सभी कर्नेल को स्वचालित रूप से अपग्रेड न करने के लिए "Curr" के बजाय "रखें" पर क्लिक करें। – xnor

1

दो संस्करण समस्याओं के पैदा कर रहा था, जाँच फ़ोल्डर/usr/libexec/जीसीसी/x86_64-पीसी-cygwin/जीसीसी का दो संस्करण होगा। एक को हटाने के लिए।

2

हाल ही में एपीटी-साइग का उपयोग करके, जी ++ 4.9.2 स्थापित किया गया था लेकिन जीसीसी-कोर 4.8.2 बनी हुई थी।

द्वारा समाधान किया गया:

apt-cyg remove gcc-g++ 
    apt-cyg remove gcc-core 
    apt-cyg install gcc-g++ 
संबंधित मुद्दे