2011-10-27 16 views
18

इसलिए मैंने डायरेक्टएक्स 11 को दो बार पुनर्स्थापित कर दिया है और यहां तक ​​कि माइक्रोसॉफ्ट वेबसाइट पर भी गया है और एसडीके पैक मिला है जिसमें इसमें सभी सीधी एक्स कैबिनेट फाइलें हैं। किसी को भी कोई विचार है कि मुझे यह त्रुटि क्यों मिल रही है? मुझे पता है कि यह क्यों कह रहा है लेकिन इसके समाधान के लिए और अधिक खोज रहे हैं।d3dx11.h गायब?

1> c: \ उपयोगकर्ताओं \ वॉन \ दस्तावेज \ दृश्य स्टूडियो 2010 \ परियोजनाओं \ myfirstapp \ myfirstapp \ main.cpp (5): गंभीर त्रुटि C1083: नहीं खुला शामिल हो सकते हैं फ़ाइल: 'd3dx11.h' : ऐसी कोई फ़ाइल या निर्देशिका

+1

क्या आपने अपनी निर्देशिका में आवश्यक फ़ोल्डर जोड़ दिया था? – FailedDev

उत्तर

28

आप वी.एस. 2010 में क्या करने की जरूरत है कि (यह थोड़ा वी.एस. 2008 में अलग दिखता है और पुराने):

जाओ अपने प्रोजेक्ट की संपत्तियों के लिए | विन्यास गुण | वीसी ++ निर्देशिकाएं। डायरेक्टएक्स हेडर फ़ाइलों में पथ जोड़कर निर्देशिकाएं शामिल करें जिसे संपादित करें।

32 बिट जीत:: जून 2010 SDK के लिए के रूप में यह कुछ ऐसा हो सकता है सी: \ Program Files \ Microsoft DirectX एसडीके (जून 2010) \ शामिल

64 बिट जीत: C: \ Program Files (x86) \ माइक्रोसॉफ्ट डायरेक्टएक्स एसडीके (जून 2010) \

अगला आपको लिंकर की त्रुटि (गायब .lib फ़ाइलें) प्राप्त करने की अधिक संभावना है। बस अपनी परियोजना के गुणों पर जाएं | विन्यास गुण |

32 बिट जीत:: C: \ Program Files \ Microsoft DirectX एसडीके (जून 2010) \ लिब \ 86

64 बिट कुलपति ++ फिर निर्देशिकाएँ, लेकिन इस बार संपादित लाइब्रेरी निर्देशिकाएँ और निम्न पथ में से एक के लिए जोड़ विन: सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट डायरेक्टएक्स एसडीके (जून 2010) \ Lib \ x64

यदि आपने एसडीके के अन्य संस्करण को स्थापित किया है या इसे गैर-डिफ़ॉल्ट निर्देशिका में स्थापित किया है तो तदनुसार दिए गए पथ बदलें। यह भी सुनिश्चित करें कि आपने लिंकर को d3d11.lib (और शायद d3dx11.lib भी) जोड़ा है। अतिरिक्त निर्भरता।

सामान्य नियम यह है कि जब भी आप #> फ़ाइलों को शामिल करते हैं तो आपके आईडीई को यह पता होना चाहिए कि उन्हें कहां ढूंढना है। वीसी ++ निर्देशिका विजुअल स्टूडियो में ऐसा करने का एक तरीका है। लेकिन हेडर का एकमात्र समावेश (ज्यादातर मामलों में) पर्याप्त नहीं है - आपको अपने लिंकर को यह बताने की ज़रूरत है कि उन शीर्षकों द्वारा वर्णित प्रीकंपील्ड बाइनरी की तलाश करें। पुस्तकालय निर्देशिकाओं के लिए दूसरा रास्ता जोड़कर आप यही करते हैं।

+0

ठीक है मैं इसे एक कोशिश देने जा रहा हूँ। मैंने सोचा कि मैंने ऐसा इसलिए किया क्योंकि असाइनमेंट निर्देशों ने मुझे ऐसा करने के लिए कहा लेकिन मैं सबकुछ जांच दूंगा। –

+0

मदद के लिए धन्यवाद, पता चला है कि मैं वीसी ++ निर्देशिका और डायरेक्ट एक्स 11 के लिए लिंकर पुस्तकालयों को याद कर रहा था। –

+3

पर्यावरण चर% DXSDK_DIR%/शामिल करने के बारे में क्या? – qdii

0

आपको यह सुनिश्चित करना होगा कि आपको नवीनतम DirectX SDK मिल जाए। इसमें हेडर फाइलें हैं। अगर आपको कैबिनेट फाइलें मिलती हैं, तो आपको गलत एसडीके मिल गया है।

+0

मैंने इसे डाउनलोड किया और यह अभी भी मुझे बताता है कि यह इसे खोजने में असमर्थ है? अगर मैं फ़ाइल पर पहुंचने का अनुरोध करने वाली लाइन पर टिप्पणी करता हूं तो यह काम करता है लेकिन फिर यह मुझे d3dx10.h फ़ाइल पर भी टिप्पणी करता है और यह ठीक लोड करता है। –

+0

क्या आप अपने सिस्टम को d3dx * .h के लिए खोज सकते हैं यह देखने के लिए कि सही हेडर फाइलें कहां स्थापित की गई थीं? –

+0

यह 4 बार की तरह पुनर्स्थापित करने के बाद भी पॉप अप नहीं हुआ। –

0

मेरे मामले में, DX12 के लिए, मैं याद आ रही थी d3dx12.h

this MSDN पेज देखें।

मामले में पेज चलता है, प्रासंगिक लाइन

"d3dx12.h Direct3D 12 हेडर से अलग से उपलब्ध है प्रतीत होता है। आप के लिए स्रोत फ़ाइलों में से किसी में नेविगेट करके d3dx12.h डाउनलोड कर सकते हैं GitHub/Microsoft/DirectX-Graphics-Samples पर डायरेक्ट 3 डी 12 परियोजनाएं "

+4

डायरेक्टएक्स एसडीके विरासत है, और डी 3 डीएक्स 9, डी 3 डीएक्स 10, और डी 3 डीएक्स 11 को बहिष्कृत किया गया है। प्रतिस्थापन की सूची के लिए, देखें [डी 3 डीएक्स के बिना रहना] (https://blogs.msdn.microsoft.com/chuckw/2013/08/20/living-without-d3dx/)। डी 3 डीएक्स 12 विंडोज एसडीके या डायरेक्टएक्स एसडीके का हिस्सा नहीं है। इसका उद्देश्य सिर्फ आपके प्रोजेक्ट में कॉपी किया जाना है, यह [गिटहब] (https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/Templates/DirectX12App/Common/d3dx12.h) पर प्रदान किया गया है एमआईटी लाइसेंस यह विभिन्न डायरेक्टएक्स 12 वीएस टेम्पलेट्स में भी शामिल है [इन] (https://github.com/walbourn/directx-vs-templates/wiki)। –