স্থানীয়ভাবে C++ ইনস্টল করা

নিজের মেশিনে Exercism-এর অনুশীলনী সমাধান করতে কীভাবে স্থানীয়ভাবে C++ ইনস্টল করবেন তা জানুন


পূর্বশর্ত

C++ ভাষা ট্র্যাকের জন্য আপনার সিস্টেমে নিচের সফটওয়্যারগুলো ইনস্টল থাকা দরকার:

  • একটি আধুনিক C++14 কম্পাইলার
  • CMake ক্রস-প্ল্যাটফর্ম বিল্ড সিস্টেম

টেস্টিংয়ের জন্য আমরা Catch2 ব্যবহার করি, এটি একটি হেডার-অনলি লাইব্রেরি যা অনুশীলনীগুলোর সঙ্গেই দেওয়া থাকে।

এই নির্ভরতাগুলোর সেট C++ প্রজেক্টে খুবই সাধারণ, তাই এগুলো সেট আপ করতে কোনো সমস্যা হলে আপনি অনলাইনে অনেক সহায়ক রিসোর্স পাবেন।

Microsoft-এর Visual Studio, Apple-এর Xcode আর JetBrains-এর CLion-সহ অনেক IDE-তেই কম্পাইলার ও CMake একসঙ্গে থাকে, তাই আপনার শুধু IDE-টিই ইনস্টল করা দরকার।

একটি আধুনিক C++14 কম্পাইলার

এই ভাষা ট্র্যাকের জন্য C++14 সাপোর্টসহ একটি কম্পাইলার দরকার, যা ২০১৪ সালে প্রকাশিত হয়। গত কয়েক বছরে প্রকাশিত সব প্রধান কম্পাইলারই সামঞ্জস্যপূর্ণ হওয়া উচিত, তাই আপনি যদি মোটামুটি সাম্প্রতিক কোনো ভার্সনে থাকেন তাহলে সমস্যা হবে না। নির্দিষ্ট করে বললে, GCC সংস্করণ 7 বা তার পরের, Clang সংস্করণ 6 বা তার পরের, অথবা Visual Studio 2017 বা তার পরের।

CMake

CMake একটি ওপেন সোর্স ক্রস-প্ল্যাটফর্ম বিল্ড সিস্টেম, যা আপনার নেটিভ বিল্ড সিস্টেমের (make, Visual Studio, Xcode ইত্যাদি) জন্য বিল্ড স্ক্রিপ্ট তৈরি করে। Exercism-এর C++ ট্র্যাক CMake ব্যবহার করে আপনাকে একটি প্রস্তুত বিল্ড দেয়, যা:

  • টেস্টগুলো কম্পাইল করে
  • আপনার সমাধান কম্পাইল করে
  • টেস্ট এক্সিকিউটেবল লিংক করে
  • প্রতিটি বিল্ডের অংশ হিসেবে স্বয়ংক্রিয়ভাবে টেস্টগুলো রান করে
  • কোনো টেস্ট ফেল করলে বিল্ড ফেল করায়

CMake ব্যবহার করে Exercism Visual Studio আর Xcode-এর মতো ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্টের জন্য প্রজেক্ট ফাইল তৈরি করতে পারে এমন একটি ক্রস-প্ল্যাটফর্ম বিল্ড স্ক্রিপ্ট দিতে পারে। এতে আপনি সমস্যার দিকে মনোযোগ দিতে পারেন, প্রতিটি অনুশীলনীর জন্য আলাদা বিল্ড সেট আপ করার চিন্তা করতে হয় না।

পোর্টেবল বিল্ড পাওয়া সহজ নয় এবং এর জন্য নানা ধরনের সিস্টেমে অ্যাক্সেস দরকার। দেওয়া CMake রেসিপিতে কোনো সমস্যা হলে অনুগ্রহ করে সমস্যাটি জানান, যাতে আমরা CMake সাপোর্ট আরও উন্নত করতে পারি।

দেওয়া বিল্ড রেসিপি ব্যবহার করতে CMake 3.5.1 বা তার পরের সংস্করণ দরকার।

Windows

Windows ব্যবহারকারীরা Visual Studio Community নিতে পারেন, এটি একটি বিনামূল্যের ডাউনলোড যা আপনাকে Visual Studio IDE আর Microsoft Visual C++ কম্পাইলারের সর্বশেষ সংস্করণ দেবে।

  1. CMake সেট আপ করতে এখানকার নির্দেশনা অনুসরণ করুন।
  2. exercism cli টুল ব্যবহার করে অনুশীলনীটি ডাউনলোড করুন।
  3. Visual Studio 2017 বা তার বেশি সংস্করণ খুলুন (উপরের লিংকে বর্ণনা অনুযায়ী CMake-এর জন্য Visual C++ টুল ইনস্টল করা অবস্থায়)।
  4. VS-এ অনুশীলনীর ফোল্ডারটি খুলুন।
  5. "Build->Build the solution" রান করুন। বিল্ডের সঙ্গেই টেস্টগুলো চলবে, আর আউটপুট বিল্ড উইন্ডোতে যাবে। যেহেতু বিল্ডের সময়ই টেস্ট চলে, তাই কোনো একটি টেস্ট ফেল করলে VS এটিকে বিল্ড ফেইলিউর বলবে, আর টেস্ট ফেল করার মেসেজগুলো বিল্ড আউটপুট উইন্ডোতে থাকবে।

JetBrains-এর CLion-এর মতো অন্য ইন্টিগ্রেটেড IDE-ও আপনি একইভাবে ব্যবহার করতে পারবেন।

Windows-এ Boost ইনস্টল করা

meetup আর gigasecond অনুশীলনী দুটি Boost লাইব্রেরির উপর নির্ভর করে। নিচের ধাপগুলোতে তা কীভাবে সেট আপ করবেন তা বর্ণনা করা হয়েছে।

  1. Boost-এর জন্য আগে থেকেই তৈরি করা Windows লাইব্রেরিগুলো ডাউনলোড করুন।
    • অনুশীলনীগুলোর জন্য সর্বনিম্ন Boost সংস্করণ 1.58 দরকার।
    • Visual Studio Installer-এ "Modify"-তে ক্লিক করে MSVC-এর সংস্করণ দেখতে পাবেন।
  2. লাইব্রেরিগুলো একটি লোকাল ফোল্ডারে এক্সট্র্যাক্ট করুন।
  3. আপনি যে ফোল্ডারে Boost লাইব্রেরি ইনস্টল করেছেন, সেটি BOOST_ROOT এনভায়রনমেন্ট ভ্যারিয়েবলে সেট করুন।
  4. এটি করার সময় Visual Studio খোলা থাকলে বন্ধ করুন, যাতে BOOST_ROOT-এর মান ঠিকভাবে ধরা পড়ে।
  5. Visual Studio চালু করুন আর gigasecond বা meetup অনুশীলনীটি যে ফোল্ডারে আছে সেটি খুলুন।
  6. "Startup Item" হওয়া উচিত gigasecond.exe বা meetup.exe, আর অন্য অনুশীলনীগুলোর মতোই gigasecond_test.cpp বা meetup_test.cpp-এ আপনি বিল্ড এরর পাবেন, যা আপনাকে অনুপস্থিত বিষয়গুলো ইমপ্লিমেন্ট করতে বলবে।

Linux

সাম্প্রতিক সব Linux ডিস্ট্রিবিউশন রিলিজেই সামঞ্জস্যপূর্ণ C++14 কম্পাইলার থাকে, আপনার প্যাকেজ ম্যানেজার দিয়েই এটি ইনস্টল করতে পারা উচিত। আমরা যে সংস্করণগুলো সাপোর্ট করি সেগুলো Ubuntu LTS 18.04-এ ডিফল্টভাবে ইনস্টল করা সংস্করণ।

উদাহরণস্বরূপ, Ubuntu-তে gcc ইনস্টল করতে আপনি নিচের কমান্ডটি ব্যবহার করবেন।

$ sudo apt-get install gcc
$ gcc --version

পুরনো ডিস্ট্রিবিউশনে থাকলে আপনার কাছে C++14 সাপোর্ট করে এমন কম্পাইলার নাও থাকতে পারে। সেক্ষেত্রে সর্বনিম্ন কম্পাইলার সংস্করণটি কীভাবে ইনস্টল করবেন তা বের করতে আপনার ডিস্ট্রিবিউশনের সঙ্গে কাজ করতে হবে।

MacOS

MacOS ব্যবহারকারীরা Homebrew দিয়ে brew install gcc কমান্ডের মাধ্যমে GCC ইনস্টল করতে পারেন।