লিনাক্সে জিসিসির জন্য কীভাবে একটি ডিফল্ট অন্তর্ভুক্ত করা যায়?


288

আমি জিসিসি থেকে ফাইলগুলি অন্তর্ভুক্ত করতে চাই $HOME/include স্বাভাবিক অন্তর্ভুক্ত ডিরেক্টরিগুলি ছাড়াও , তবে এর কোনও অ্যানালগ বলে মনে হয় না $LD_LIBRARY_PATH

আমি জানি আমি কম্পাইল করার সময় কমান্ড লাইনে কেবল অন্তর্ভুক্ত ডিরেক্টরিটি যুক্ত করতে পারি (বা মেকফাইলে), তবে আমি লাইব্রেরির মতো এখানে সত্যিই সর্বজনীন পন্থা চাই।


3
এখানে জিসিসি ৪.৮.১ ম্যানুয়ালটির লিঙ্ক রয়েছে যেখানে সিএনপিএলসিডিউপিএইচএইচপি এবং সিপিএলএসএনপিএলসিডিউডিপিপিএইচ পরিবেশ পরিবর্তনশীল নথিভুক্ত করা হয়েছে docu
এম্লোস্কোট

উত্তর:


391

C_INCLUDE_PATH(সি হেডার ফাইলগুলির জন্য) বা CPLUS_INCLUDE_PATH(সি ++ হেডার ফাইলগুলির জন্য ) সেটিং চেষ্টা করুন ।

সিওরো যেমন উল্লেখ করেছেন, CPATHসি এবং সি ++ (এবং অন্য কোনও ভাষা) উভয়ের জন্য পথ নির্ধারণ করবে।

জিসিসির ডকুমেন্টেশনে আরও বিশদ ।


53

আপনার প্রিয় অন্তর্ভুক্ত সহ জিসিসির জন্য একটি উপকরণ তৈরি করুন।

alias mygcc='gcc -I /whatever/'

12
আমি মনে করি এর পরে আর কোনও স্থান থাকা উচিত নয়-I
আইলিয়াস কার্ট

10
স্থানটি বাদ দেওয়া যেমন অভ্যাসের বিষয়, ঠিক তেমনই -l<libnam>আপনি লিঙ্ক করতে চেয়েছিলেন ঠিক মনে রাখবেন যে একটি উপাস তৈরি করা খুব দুর্বল সমাধান, সত্যিই আপনি আপনার পছন্দসই অন্তর্ভুক্ত রয়েছে এমন একটি তালিকা তৈরি করবেন এবং সেগুলি আপনার মেকফাইলে যুক্ত করবেন।
h4unt3r

9
"পৃথক যুক্তি হিসাবে লাইব্রেরির সাথে দ্বিতীয় বিকল্পটি কেবল পক্সিক্স সম্মতির জন্য এবং প্রস্তাবিত নয়।" জিসিসি ম্যানুয়াল অনুসারে।
জোরি

ভালো বুদ্ধি নই. এটি নন-কম্পোজেবল (আপনি যদি অন্য একটি ডির চান তবে কী হবে? আপনি যদি কিছু অন্যান্য জিসিসি স্যুইচ চান তবে কী হবে) এবং বিভিন্ন স্ক্রিপ্ট বা স্বয়ংক্রিয় সরঞ্জামগুলি বিভ্রান্ত করতে পারে যা জিসিসি সম্পর্কে অনুমান করে।
einpoklum

8

একটি জিসিসি স্পেক ফাইলটি কাজটি করতে পারে, তবে মেশিনের সমস্ত ব্যবহারকারী প্রভাবিত হবে।

এখানে দেখুন


6

কেবল একটি নোট: CPLUS_INCLUDE_PATHএবং C_INCLUDE_PATHএর সমতুল্য নয় LD_LIBRARY_PATH। (রানটাইমের সময় ডায়নামিক লিঙ্কার) LD_LIBRARY_PATHপরিবেশন করে ldযখন গ্রন্থাগারের অবস্থানের সাথে আপনার সি / সি ++ সংকলক পরিবেশন করে এমন দুটি পূর্বের সমতুল্য LIBRARY_PATH

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.