ठीक है, यहां बताया गया है कि यह कैसे काम करता है, और मैंने यह सुनिश्चित करने के लिए इसकी जांच की।
सुनिश्चित करें कि आप कठिन रास्तों का उपयोग कर सकते हैं, लेकिन हर प्रोग्रामर को कठिन रास्तों का उपयोग करने से नफरत है। वे बिल्कुल भी पोर्टेबल नहीं हैं, और वे आपके कार्यक्रम को जगह में बंद कर देते हैं। आप प्रोजेक्ट में फ़ाइलों के लिए सॉफ्ट या हार्ड लिंक का उपयोग करते हैं ("ln" पर मैन पेज देखें)। लेकिन, ... बदसूरत के बारे में बात करो! तो सवाल यह है कि इसे "सही ढंग से" कैसे किया जाए? कुंजी सीख रही है कि कौन से पैरामीटर और किस रास्ते में C / C ++ कंपाइलर चलता है।
आप पाएंगे कि निष्कर्ष बिल्कुल सहज नहीं है। पीछा करने के लिए काटना: रिश्तेदार रास्ते सही ढंग से काम नहीं करते हैं। अब क्यों?
लेकिन पहले, मुझे यह समझाने दें कि कोई भी प्रोजेक्ट डायरेक्टरी के बाहर प्रोग्राम फाइल्स क्यों रखना चाहेगा । प्रोग्रामर जैसे प्रोग्राम क्लास, स्ट्रक्चर, मेथड, फंक्शन, मैक्रोज़ आदि लिखना, एक बार। जैसे ही प्रोग्रामर प्रोग्राम के टुकड़े को जमता है, वह फाइलों को एक आम पेड़ में डालना चाहता है और आगे बढ़ जाता है। इसके बाद प्रत्येक कार्यक्रम उस निजी पुस्तकालय का उपयोग कर सकता है। इसके अलावा, फ़ाइलों को एक केंद्रीय स्थान पर रखने से, आपके पास प्रत्येक की कई प्रतियां और संस्करण नहीं होंगे। कई निजी कार्यक्रमों के लिए एक निजी पुस्तकालय।
1.6.13 तक (टेनेसी अभी तक 1.8। * का समर्थन नहीं करता है), रिश्तेदार में लाइब्रेरी से शुरुआत शामिल है , आपकी निर्देशिका नहीं। ऐसा प्रतीत होता है कि एओ-टू-सी फ़िल्टर (याद रखें कि Arduino लक्ष्य के लिए "रूपांतरण" करता है, फिर C / C ++ कंपाइलर को कॉल करता है) जहां आप अपने Arduino ट्री को स्थापित करते हैं, वहां शुरू होता है। मेरे मामले में, मैंने "~ / bin / arduino" में स्थापित किया। Teensy का घर "है ।/hardware/teensy"। पुस्तकालयों के लिए पूरा घर का रास्ता "~ / बिन / arduino / हार्डवेयर / किशोर / avr / पुस्तकालय" है जहां आपको सभी सहायता कार्यक्रम के पेड़ मिलेंगे।
स्रोत फ़ाइल में, "#include" test.hpp "'कथन आपके वर्तमान निर्देशिका से फ़ाइल को सही ढंग से चुनता है। फिर भी, यदि आप '#include "../test.hpp" का उपयोग करते हैं, तो शामिल पथ आपके प्रोजेक्ट निर्देशिका में प्रारंभ नहीं होता है। इसके बजाय यह "/ पुस्तकालय" में शुरू होता है! इसलिए परिणामी रास्ता है:
#include "../test.hpp" ==> ./arduino/hardware/teensy/avr/libraries/test.hpp
अंत में पास की निर्देशिका में अपने स्वयं के उपकरण बनाने का कोई साफ तरीका नहीं है। एकमात्र कोर्स अरुडिनो लाइब्रेरी में आपके काम करने के लिए है और उन नियमों के बारे में भी जानते हैं।