আমি কীভাবে জি ++ তে লাইব্রেরিগুলির একটি পথ অন্তর্ভুক্ত করব


96

আমি আমার মেকফাইলে অতিরিক্ত লাইব্রেরির পাথ অন্তর্ভুক্ত করার চেষ্টা করছি, তবে কীভাবে সংকলকটি সেই পাথটি ব্যবহার করতে পারি তা আমি বুঝতে পারি না। এখনও পর্যন্ত আমার কাছে রয়েছে:

g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test

এবং আমি পথটি অন্তর্ভুক্ত করতে চাই

/data[...]/lib

কারণ টেস্টিং.পি.পি that লাইব্রেরির ফাইলগুলি অন্তর্ভুক্ত করে। এছাড়াও, আমি একটি লিনাক্স মেশিনে আছি।

সম্পাদনা: লাইব্রেরির পাথ নয়। অন্তর্ভুক্ত করা হয়েছে যে কেবল ফাইল। আমার খারাপ।


উত্তর:


171

(বাইনারি) লাইব্রেরি অনুসন্ধানের জন্য একটি ডিরেক্টরি নির্দিষ্ট করতে, আপনি কেবল ব্যবহার করুন -L:

-L/data[...]/lib

প্রকৃত গ্রন্থাগারের নাম নির্দিষ্ট করতে, আপনি ব্যবহার করুন -l:

-lfoo  # (links libfoo.a or libfoo.so)

আপনি যে ফাইলগুলি ব্যবহার করেন সেগুলি অন্তর্ভুক্ত (লাইব্রেরি থেকে আলাদা!) অনুসন্ধানের জন্য একটি ডিরেক্টরি নির্দিষ্ট করতে -I:

-I/data[...]/lib

সুতরাং আমার মনে হয় আপনি যা চান তা এমন কিছু

g++ -g -Wall -I/data[...]/lib testing.cpp fileparameters.cpp main.cpp -o test

এই সংকলক পতাকাগুলি (অন্যদের মধ্যে) জিএনইউ জিসিসি কমান্ড বিকল্পের ম্যানুয়ালটিতেও পাওয়া যাবে:


4
এটির আগে মূলত কোথাও কোথাও; The -I.cpp ফাইলের নামের আগে আসা উচিত, উদাহরণস্বরূপ।
আর্নেস্ট ফ্রেডম্যান-হিল

4
কোনও সিস্টেমের পরিবর্তনশীলটিতে লাইব্রেরি যুক্ত করার মতো সংকলকটির মূর্তিটি তৈরি করা কি সম্ভব?
ফ্রেড

5
@ ফ্রেড, হ্যাঁ, জি ++ পুরো পরিবেশের ভেরিয়েবলগুলি বোঝে যা অন্তর্ভুক্ত পথ, গ্রন্থাগারের পথ ইত্যাদি নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে
আর্নেস্ট ফ্রেডম্যান-হিল

4
-L এবং -I এর মধ্যে পার্থক্য কী (মূলধন আমি, কম এল নয়)?
Youda008

4
@ Youda008 মূলধন ইল: গ্রন্থাগারগুলির জন্য অনুসন্ধানের পথ। মূল চোখ: অন্তর্ভুক্ত ফাইলগুলির জন্য অনুসন্ধানের পথ। ছোট ইল: লিঙ্ক করার লাইব্রেরির নাম।
আর্নেস্ট ফ্রাইডম্যান-হিল

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