2010-08-28 10 views
11

मैं डीएमडी (? 2.0) Windows इंस्टालर का उपयोग कर स्थापित नहीं पढ़ सकते हैं और निम्नलिखित कार्यक्रम संकलित करने के लिए कोशिश कर रहा हूँ:डी प्रोग्रामिंग भाषा: मॉड्यूल stdio फ़ाइल एसटीडी stdio.d

module tcpechoserver; 

import std.stdio; 

const int MAXPENDING = 5; 

int main(char[][] argv) 
{ 
    if(argv.length != 2){ 
     writef("Usage: %s <port>", argv[0]); 
    } 

    return 0; 
} 

लेकिन मैं निम्नलिखित संकलक मिल त्रुटि:

Error: module stdio cannot read file 'std\stdio.d' 

क्या मानक पथ लाइब्रेरी को काम करने के लिए मुझे कुछ पथ निर्दिष्ट करना है?

+0

'डीएमडी -v' साथ संकलन के उत्पादन में पोस्ट करें – Bernard

+0

सी:।। \ आशा \ डी> डीएमडी tcpechoserver.d - v पार्स tcpechoserver importall tcpechoserver आयात ऑब्जेक्ट (सी: \ डी \ बिन \ .. \ import \ object.di) आयात std.stdio (std \ stdio.d) tcpechoserver.d (3): त्रुटि: मॉड्यूल stdio फ़ाइल 'std \ stdio.d ' – lowerkey

उत्तर

5

अपनी डीएमडी स्थापना निर्देशिका में ~\windows\bin\sc.ini फ़ाइल देखें।

LIB="%@P%\..\lib";\dm\lib

और

DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"

वे ठीक हैं, और यह काम करता है नहीं है, तो अपने स्थापना शायद टूट गया है: यह डीएमडी के लिए अंतर्निहित आदेश पंक्ति तर्क है, जो डीएमडी 2.048 के लिए इस रूप में देखना चाहिए होता है । मैं आपको संकलक के ज़िप संस्करण को डाउनलोड करने और इसे अपने इंस्टॉलेशन पर अनपैक करने की सलाह देता हूं।

8

जब आपको इस तरह की त्रुटियां मिलती हैं, तो इसका मतलब है कि डीएमडी आयात फ़ाइल नहीं ढूंढ सकता है। यदि आप import foo.bar.xyz, तो यह अपेक्षा करता है कि यह पर xyz.d ढूंढें।

यह (उदाहरण के लिए यदि आप इसे में एक stdio.d के साथ अपने tcpechoserver.d के बगल में एक निर्देशिका std जोड़ा है, तो यह है कि प्रयोग करेंगे) ने अपने सभी मानक आयात पथ में इस निर्देशिका, साथ ही वर्तमान निर्देशिका के लिए खोज करता है। बेशक, आप यह नहीं चाहते हैं - आप मानक stdio.d चाहते हैं।

आप क्या निर्देशिका यह फ़ाइल

C:\D\dmd2\windows\bin\sc.ini (आप डिफ़ॉल्ट निर्देशिका करने के लिए स्थापित यह सोचते हैं) खोलने के द्वारा लग रहा है पा सकते हैं।

DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"

जो उन पथों खोज करने के लिए संकलक कह रहा है जब आयात निर्देशिका की तलाश:

कि अंदर, यह लाइन शामिल करना चाहिए। आप जो भी कारण के लिए है कि लाइन नहीं है, तो (या अगर लाइन अलग है) तो sc.ini में इस लाइन ([Environment] शीर्षक के अंतर्गत कहीं भी करना चाहिए जोड़ने का प्रयास करें।

ही सुनिश्चित करें कि dmd2 निर्देशिका एक \src\phobos\std\stdio.d फ़ाइल है।

इन दोनों काम नहीं करते, तो मैं खरोंच से फिर से स्थापित करने की सलाह देते हैं, तो

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