উবুন্টুতে কীভাবে বুস্ট ইনস্টল করবেন


489

আমি উবুন্টুতে আছি, এবং আমি বুস্ট ইনস্টল করতে চাই। আমি চেষ্টা করেছিলাম

sudo apt-get install boost

তবে তেমন কোনও প্যাকেজ ছিল না। উবুন্টুতে বুস্ট ইনস্টল করার সর্বোত্তম উপায় কী?

উত্তর:


847

আপনি apt-getকমান্ড ব্যবহার করতে পারেন (প্রয়োজনীয় sudo)

sudo apt-get install libboost-all-dev

অথবা আপনি কল করতে পারেন

aptitude search boost

আপনার প্রয়োজনীয় প্যাকেজগুলি সন্ধান করুন এবং apt-getকমান্ডটি ব্যবহার করে সেগুলি ইনস্টল করুন ।


3
আপনার উত্সাহ সঙ্গে কোন অতীত অভিজ্ঞতা আছে?
k53sc

1
আমার বুস্টের সাথে প্রোগ্রামিংয়ের অভিজ্ঞতা ছিল, তবে ইনস্টলেশন অভিজ্ঞতা নয়। আমি নিজেই এটি চেষ্টা করে দেখিনি, সুতরাং এটি ব্যবহার করা সহজ কিনা তা আমি বলতে পারি না (তবে এটি আমার কাছে মনে হয় যে প্যাকেজ ম্যানেজারটি সবচেয়ে সহজ উপায়)। আমার এই পরামর্শটি মন্তব্য হিসাবে পোস্ট করা উচিত ছিল, তবে আমি প্রশ্নগুলির মন্তব্য করতে পারি না।
আন্তন গুরুয়ানভ

71
অ্যাপটি-গেট ব্যবহারের একটি অসুবিধা হ'ল এটি সর্বশেষতম রিলিজের পিছনে বেশ কয়েকটি সংস্করণ।
রাল্ফ

6
উত্সগুলি থেকে বুস্ট তৈরি এবং ইনস্টল করা সহজ, উদাহরণস্বরূপ anycoder.wordpress.com/2014/04/28/ বিল্ডিং
অ্যান্ড্রু

5
বুস্টের প্যাকেজযুক্ত সংস্করণটি ব্যবহার করবেন না, এখনই উবুন্টু 16.04 এ এটি 1.58, এবং সর্বশেষতম স্থিতিশীল সংস্করণটি 1.67.0! প্রতিক্রিয়া এবং নীচে আমার মন্তব্য দেখুন: stackoverflow.com/a/41272796/2617716
জেব

182

আপনার প্রয়োজনীয় বুস্টের সংস্করণটি পান। এটি 1.55 এর জন্য তবে নিজেকে পরিবর্তন বা ম্যানুয়ালি ডাউনলোড করতে নির্দ্বিধায়:

wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
tar xzvf boost_1_55_0.tar.gz
cd boost_1_55_0/

প্রয়োজনীয় লাইব্রেরিগুলি পান, মূলগুলির icuজন্য boost::regexসহায়তা হয়:

sudo apt-get update
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev

বুস্টের বুটস্ট্র্যাপ সেটআপ:

./bootstrap.sh --prefix=/usr/

তারপরে এটি তৈরি করুন:

./b2

এবং শেষ পর্যন্ত এটি ইনস্টল করুন:

sudo ./b2 install

2
আমরা ./bootstrap.sh --prefix = / usr / অন্তর্ভুক্ত করলে কী পার্থক্য হবে? আমার কাছে / usr / অন্তর্ভুক্ত বুস্ট লাইব্রেরি আছে। আমি ভাবছিলাম যে এটি করে আমি কি আমার পুরানো ইনস্টলেশনটি প্রতিস্থাপন করতে পারি?
সাঁই

40
লিববুস্ট-অল-ডেভ কী? বুস্ট ইনস্টল করার আগে কেন আমি বুস্ট ইনস্টল করব?
5:34

23
এছাড়াও ./b2 installচূড়ান্ত পদক্ষেপ হিসাবে কার্যকর করা উচিত
javapowered

21
@ tbc0 বুস্ট সংস্করণ 1.59 এখন, এবং সর্বশেষ পিপিএ, 1.55 এ, তাই উৎস থেকে বিল্ডিং প্রাসঙ্গিক
TemplateRex

5
@ টেম্পলেটআরেক্স আমি আমার মন্তব্য প্রত্যাহার করি। আমি আমার উড়ানটি বাতিল করেছি।
tbc0

83

ব্যবহারের উদাহরণ সহ উবুন্টুতে বুস্ট ইনস্টল করা boost::array:

Libboost-all-dev এবং প্রবণতা ইনস্টল করুন:

sudo apt install libboost-all-dev

sudo apt install aptitude

aptitude search boost

তারপরে এটি নামক একটি সি ++ ফাইলে পেস্ট করুন main.cpp:

#include <iostream>
#include <boost/array.hpp>

using namespace std;
int main(){
  boost::array<int, 4> arr = {{1,2,3,4}};
  cout << "hi" << arr[0];
  return 0;
}

এই মত সংকলন:

g++ -o s main.cpp

এটি এইভাবে চালান:

./s

প্রোগ্রামের প্রিন্টগুলি:

hi1

3
"বুস্ট :: অ্যারে <int, 4> অ্যারে = {{1,2,3,4}};" রেখায় একটি ত্রুটি রয়েছে, এটি "বুস্ট :: অ্যারে <int, 4> অ্যারে = {1 হওয়া উচিত , 2,3,4}; "
szulak

36
আমি কেন দৌড়াতে চাই aptitude search boost?
লেদেহাই

23

আপনার প্রয়োজনীয় বুস্টের সংস্করণটি পান। এটি 1.55 এর জন্য তবে নিজেকে পরিবর্তন বা ম্যানুয়ালি ডাউনলোড করতে নির্দ্বিধায় (ডাউনলোড পৃষ্ঠা বুস্ট করুন) :

wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
tar xzvf boost_1_55_0.tar.gz
সিডি বুস্ট_1_55_0 /

প্রয়োজনীয় গ্রন্থাগারগুলি পান, উত্সাহিত করার জন্য প্রধানগুলি হ'ল আইকু: রেজেক্স সহায়তা:

sudo অ্যাপ্লিকেশন - আপডেট
sudo apt-get ইনস্টল বিল্ড-অপরিহার্য জি ++ পাইথন-ডেভ অটোটুলস-ডেভ লিবিকু-ডেভ লিববিজ 2-ডেভ 

বুস্টের বুটস্ট্র্যাপ সেটআপ:

./bootstrap.sh --prefix = / usr / স্থানীয়

আমরা যদি এমপিআই চাই তবে আমাদের ব্যবহারকারীর কনফিগারেশন.জ্যাম ফাইলটিতে পতাকা সেট করতে হবে:

user_configFile = `সন্ধান করুন D পিডাব্লুডি-ব্যবহারকারীর-কনফিগারেশন j
প্রতিধ্বনি "এমপিআই ব্যবহার করে;" >> $ user_configFile

শারীরিক কোরের সর্বাধিক সংখ্যক সন্ধান করুন:

n = `বিড়াল / প্রকোপ / সিপুইনফো | grep "cpu cores" | uniq | awk '{মুদ্রণ $ NF}' ``

সমান্তরালে বুস্ট ইনস্টল করুন:

sudo ./b2 --with = all -j $ n ইনস্টল করুন 

ধরে নেওয়া হয়েছে আপনার ইতিমধ্যে / usr / স্থানীয় / lib সেটআপ আছে। যদি তা না হয় তবে আপনি এটি আপনার এলডি লাইব্রেরি পাঠে যুক্ত করতে পারেন :

sudo sh -c 'প্রতিধ্বনি "/ usr / স্থানীয় / lib" >> /etc/ld.so.conf.d/local.conf'

Ldconfig পুনরায় সেট করুন:

sudo ldconfig

1
পিও এডিট ২.০ এর মতো কিছু জিনিসের জন্য 1.6 বাড়ানো দরকার, যা এই মুহুর্তে এপটি-গেটের মাধ্যমে পাওয়া যায় না আপনি এটি boost.org/users/history/version_1_60_0.html থেকে পেতে পারেন এবং তারপরে এটি প্রসারিত করতে পারেন। উপরের চমৎকার নির্দেশাবলী অনুসরণ করুন, মনে রাখবেন যে এলডি লাইব্রেরি পাথটি $ PATH- র মতো নয়
অ্যান্ড্রু কিলেন

লিঙ্কটি এইচটিটিপিএসে পরিবর্তন করুন; বাইনারি ডাউনলোডের জন্য এইচটিটিপি নিরাপদ নয় :)
ক্লাইমেন্ট

1
সর্বশেষতম সংস্করণটি পেতে সাম্প্রতিক ইনস্টলেশন থেকে মন্তব্য করুন: - সর্বশেষটি পেতে বর্তমানে বুস্ট.আরআর এবং "বর্তমান প্রকাশ" ডাউনলোডগুলিতে যান (বর্তমানে 1.67.0: dl.bintray.com/boostorg/release/1.67.0/source /… ) ধন্যবাদ!
জেব

হাহা এই ভাল জন্য আমার সিস্টেম আপ। আমি মনে করি এটি শেষ 2 টি আইটেম।
থ্যাং

সোর্সফোর্জে পুরানো লিঙ্কটি কাজ করছে না। ব্যবহার dl.bintray.com/boostorg/release/1.72.0/source/... (প্রয়োজনীয় সংস্করণের সাথে)
ভিক্টর Gavro

18

সাবসিস্টেমের মাধ্যমে উইন্ডোজ 10 উবুন্টু অ্যাপ্লিকেশনটির জন্য একটি আপডেট (স্ট্যান্ডার্ড উবুন্টুতেও কাজ করে):

আপনার প্যাকেজটি সন্ধান করতে সমস্যা হতে পারে। যদি করেন তবে ভয় করবেন না! পিপিএ এখানে!

sudo add-apt-repository ppa:boost-latest/ppa
sudo apt-get update

তারপরে চালান:

sudo apt-get install libboost-all-dev

1
ওপিন উইন 10 এর জন্য জিজ্ঞাসা করেনি।
অ্যাড্রিয়ান ডাব্লু

9
আমি সচেতন, তাদের জন্য পোস্ট করছি (আমার মতো) যারা একটি বৃত্তাকার সমাধান খুঁজছিলেন। Алексей Штыков এর উত্তরটির মতো
x4g0tt3nSou1x

7
@ অ্যাড্রিয়ানডাব্লু এই উত্তরটি উইন্ডোজ 10 সম্পর্কে নয়, এটি উবুন্টু সম্পর্কে যা একটি উইন্ডোজ 10 কার্নেলের উপর দিয়ে চলতে দেখা যায় , সুতরাং এটি কোনওভাবে উবুন্টু পরিচালিতদের একটি কার্যকর সমাধান। প্রশ্নটি যেহেতু উবুন্টুকে বিশেষত একটি লিনাক্স কার্নেলে চলতে সীমাবদ্ধ করে না, তাই সমাধানটি ঠিক আছে।
চই টি। রেক্স

1
' Ppa.launchpad.net/boost-latest/ppa/ubuntu xenial রিলিজ' রিপোজিটরিটিতে একটি রিলিজ ফাইল নেই।
ব্যবহারকারী 239558

1

প্রকৃতপক্ষে আপনার প্রকল্পে বুস্ট ব্যবহার করার আগে আপনার কোনও "ইনস্টল" বা "সংকলন" লাগবে না। আপনি কেবল আপনার মেশিনের যে কোনও স্থানে বুস্ট লাইব্রেরিটি ডাউনলোড এবং এক্সট্র্যাক্ট করতে পারেন যা সাধারণত পছন্দ হয় /usr/local/

আপনি যখন আপনার কোডটি সংকলন করেন, আপনি কেবলমাত্র সংকলকটি নির্দেশ করতে পারেন যেখানে পাঠাগারগুলি খুঁজে পাবেন -I। উদাহরণস্বরূপ g++ -I /usr/local/boost_1_59_0 xxx.hpp,।


10
এটি কেবলমাত্র বুথের হেডার লাইব্রেরিগুলির জন্যই কাজ করবে। উপরের উত্তরে বর্ণিত প্যাকেজ ব্যবস্থাপক ব্যবহার করে তাদের বাকীগুলি তৈরি বা ইনস্টল করা দরকার। বুস্ট লাইব্রেরিগুলির জন্য পৃথক বিল্ডিং এবং ইনস্টলেশন প্রয়োজন: পরমাণু, ক্রোনো, ধারক, প্রসঙ্গ, কর্টিন, কর্টাইন 2, তারিখের সময়, ব্যতিক্রম, ফাইল সিস্টেম, গ্রাফ, গ্রাফ_প্যারেলাল, আইস্ট্রিমস, লোকেল, লগ, গণিত, এমপিআই, প্রোগ্রাম_পশন, পাইথন, এলোমেলো , রেজেক্স, সিরিয়ালাইজেশন, সিগন্যালস, সিস্টেম, পরীক্ষা, থ্রেড, টাইমার, টাইপ_রেসুর, তরঙ্গ।
ইলিয়াস কসকৌমভেকাকিস

এমনকি এলিয়াস কসকৌমভেকাাকিসের পরবর্তী নির্দেশাবলী অনুসরণ করে এই সমাধানটি মেরামত করা একটি খারাপ ধারণা হবে (যদি আপনার কোনও ভাল কারণ না থাকে), যেহেতু প্যাকেজ পরিচালকরা খুব সহজেই বুস্টকে নতুন সংস্করণে আপডেট করার ক্ষমতা যুক্ত করেন (উবুন্টুতে, আপনার সমস্ত প্যাকেজ sudo apt update; sudo apt upgradeআপগ্রেড করার জন্য কেবলমাত্র একটি ভান্ডারগুলির সর্বশেষতম সংস্করণগুলি) যদি আপনি বুস্টের জন্য উপযুক্ত প্যাকেজ সংগ্রহস্থল খুঁজে পান এবং আপনি চাইলে খুব সহজেই বুস্টকে সিস্টেম থেকে মুছে ফেলতে পারেন। ম্যানুয়াল পদ্ধতি সেই কাজগুলিকে আরও শক্ত করে তোলে, তাই আপনাকে প্যাকেজ পরিচালকের সুবিধাগুলি এড়িয়ে যাওয়ার জন্য ভাল কারণ প্রয়োজন।
চই টি। রেক্স

1
এছাড়াও, প্যাকেজ পরিচালক ব্যতীত ইনস্টল করা পূর্বের উত্তরে আরও ভালভাবে কভার করা থাকে , যার মধ্যে প্রয়োজনীয় বিল্ডিং নির্দেশাবলী অন্তর্ভুক্ত রয়েছে।
চই টি। রেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.