2012-12-18 8 views
5

मौजूद नहीं है मैंने एसवीएन से एलएलवीएम और क्लैंग डाउनलोड किया है, उन्हें बनाया है, और एक छोटा नमूना कार्यक्रम लिखा है। हालांकि, एलएलवीएम हेडर (llvm/support/type_traits.h) में एक और एलएलवीएम हेडर, llvm/support/DataTypes.h शामिल है, जो मौजूद नहीं है। मैंने एलएलवीएम वेबसाइट पर प्रलेखन की जांच की और उन्हें लगता है कि यह अस्तित्व में नहीं होना चाहिए।एलएलवीएम एक शीर्षलेख का संदर्भ देता है जो

मैं इस समस्या को कैसे ठीक कर सकता हूं?

+1

मुझे लगता है कि: 'opt/opt/clang -name DataTypes.h' उत्पादित '/ opt/clang/3.3/include/llvm/support/dataTypes.h' है। मैंने पिछले हफ्ते उबंटू पर कुछ किया (कुछ ग्लिच लेकिन आखिरकार सफल हुए)। दिलचस्प बात यह है कि यह svn से प्राप्त स्रोतों में नहीं है लेकिन बिल्ड निर्देशिका में है इसलिए कुछ इसे बनाना चाहिए। – hmjd

+1

फ़ाइल के मेरे संस्करण के अंदर से टिप्पणी: ' – hmjd

+1

कॉन्फ़िगर करके DataTypes.h.in से जेनरेट की गई पुष्टि कर सकते हैं:'/* शामिल/llvm/support/DataTypes.h। कॉन्फ़िगर करके DataTypes.h.in से जेनरेट किया गया। */'। –

उत्तर

2

कुछ फ़ाइल बिल्ड निर्देशिका में स्वतः उत्पन्न होती हैं। लाइब्रेरी के रूप में LLVM का उपयोग करने के लिए अपने प्रोग्राम को संकलित करते समय, हमेशा llvm-config टूल का उपयोग करें ताकि आपको लिंक करने के लिए सही शीर्षलेख निर्देशिकाएं और लाइब्रेरी निर्देशिकाएं प्रदान की जा सकें। मैं अपने Makefile में यह है:

LLVM_CONFIG_COMMAND = `$(LLVM_BIN_PATH)/llvm-config --cxxflags --libs` \ 
         `$(LLVM_BIN_PATH)/llvm-config --ldflags` 

और मैं संकलक कमांड लाइन पर इसका इस्तेमाल।

LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/Debug+Asserts/bin 

कहाँ LLVM_BUILD_PATH पथ जहां configure भाग गया है, और यह के बाकी पर निर्भर करता है कि आप किस संस्करण का निर्माण किया है (मैं आमतौर पर डीबग + LLVM अंदर हैकिंग के लिए एक का दावा है का उपयोग करें)।

+0

यह बहुत ही अनुपयोगी है कि वे इस बात का जिक्र नहीं करते हैं कि आधे हेडर बनाए गए हैं और निर्देशिका को सही ढंग से शामिल नहीं किया गया है। – Puppy

+0

@DeadMG: आप एक अनुभवी प्रोग्रामर प्रतीत होते हैं, इसलिए यह आपका पहला ओपन-सोर्स प्रोजेक्ट मुठभेड़ नहीं होना चाहिए। मुझे आश्चर्य है कि आप दस्तावेज़ पर आश्चर्यचकित क्यों हैं :-) –