কোনও সিস্টেমে বুস্ট সি ++ লাইব্রেরির সংস্করণ নির্ধারণের জন্য কি কোনও দ্রুত উপায় আছে?
কোনও সিস্টেমে বুস্ট সি ++ লাইব্রেরির সংস্করণ নির্ধারণের জন্য কি কোনও দ্রুত উপায় আছে?
উত্তর:
ইনফরমেশনাল ম্যাক্রোগুলিকে বুস্ট করুন । তোমার দরকার:BOOST_VERSION
dpkg -S /usr/include/boost/version.hpp
echo -e '#include <boost/version.hpp>\nBOOST_VERSION' | gcc -x c++ -E -
- উদাহরণস্বরূপ ফেডোরা 26: 106300 (অর্থাত্ 1.63)
1.51.0 বৃদ্ধির সাথে পরীক্ষিত:
std::cout << "Using Boost "
<< BOOST_VERSION / 100000 << "." // major version
<< BOOST_VERSION / 100 % 1000 << "." // minor version
<< BOOST_VERSION % 100 // patch level
<< std::endl;
আউটপুট: বুস্ট 1.51.0 ব্যবহার করে
1.51.0 থেকে 1.65.0 এ বুস্ট সংস্করণ দিয়ে পরীক্ষা করা হয়েছে
আপনার যদি কেবল নিজের তথ্যের জন্য জানা দরকার তবে কেবলমাত্র /usr/incolve/boost/version.hpp (উবুন্টু ১৩.১০) দেখুন এবং সরাসরি তথ্যটি পড়ুন
#include <boost/version.hpp>
#include <iostream>
#include <iomanip>
int main()
{
std::cout << "Boost version: "
<< BOOST_VERSION / 100000
<< "."
<< BOOST_VERSION / 100 % 1000
<< "."
<< BOOST_VERSION % 100
<< std::endl;
return 0;
}
আপডেট: উত্তর ঠিক করা হয়েছে।
std::cout << "Boost version: " << BOOST_LIB_VERSION;
?
আপনি কীভাবে বুস্ট ইনস্টল করেছেন এবং কী ওএস আপনি চালাচ্ছেন তার উপর নির্ভর করে আপনি নিম্নলিখিতগুলিও ব্যবহার করতে পারেন:
dpkg -s libboost-dev | grep 'Version'
libboost-dev
"বুস্ট" হিসাবে একই? কারণ আমার অনেক কিছু আছে /usr/include/boost
তবে আপনার আদেশটি দেয় is not installed
।
হোমব্রিউ ব্যবহার করে ওএস এক্সে ইনস্টলড বুস্টের পছন্দসই version.hpp
ফাইল রয়েছে /usr/local/Cellar/boost/<version>/include/boost/version.hpp
(দ্রষ্টব্য, সংস্করণটি ইতিমধ্যে পথে উল্লেখ করা হয়েছে)।
আমি কোনো ইউনিক্স-সদৃশ সিস্টেমে সংস্করণ নির্ধারণ জন্য অনুসন্ধান করতে হবে দ্রুততম উপায় অনুমান boost
মধ্যে /usr
:
find /usr -name "boost"
আমার হিসাবে, আপনি প্রথমে (version.hpp সংস্করণটি পরিবর্তনশীল এটিতে থাকতে পারেন, এটি যদি আপনি জানেন তবে এটি উবুন্টুতে এটি সাধারণত /usr/include/boost/version.hpp
ডিফল্ট ইনস্টল করে):
locate `boost/version.hpp`
দ্বিতীয় সংস্করণ এর সংস্করণ দেখান:
grep BOOST_LIB_VERSION /usr/include/boost/version.hpp
অথবা
grep BOOST_VERSION /usr/include/boost/version.hpp.
আমার হিসাবে, আমি আমার সিস্টেমে দুটি সংস্করণ বুস্ট ইনস্টল করেছি। নীচে হিসাবে আউটপুট:
xy@xy:~$ locate boost/version.hpp |grep boost
/home/xy/boost_install/boost_1_61_0/boost/version.hpp
/home/xy/boost_install/lib/include/boost/version.hpp
/usr/include/boost/version.hpp
xy@xy:~$ grep BOOST_VERSION /usr/include/boost/version.hpp
#ifndef BOOST_VERSION_HPP
#define BOOST_VERSION_HPP
// BOOST_VERSION % 100 is the patch level
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 105800
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
# or this way more readable
xy@xy:~$ grep BOOST_LIB_VERSION /usr/include/boost/version.hpp
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
#define BOOST_LIB_VERSION "1_58"
স্থানীয় ইনস্টল করা সংস্করণ দেখান:
xy@xy:~$ grep BOOST_LIB_VERSION /home/xy/boost_install/lib/include/boost/version.hpp
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
#define BOOST_LIB_VERSION "1_61"
আমি বুস্ট সংস্করণ সংখ্যা খুঁজে বের করতে stugeled ব্যাশ ।
নিম্নলিখিত কাজটি শেষ হয়েছে, যা ত্রুটিগুলি দমন করে, একটি পরিবর্তনশীলতে সংস্করণ কোড সঞ্চয় করে। এটি গৃহীত উত্তরের মন্তব্যে ম্যাক্সচেলেপজিগের উদাহরণ ব্যবহার করে। (মন্তব্য করতে পারবেন না, ৫০ টি প্রতিনিধি নেই)
আমি জানি এটির উত্তর অনেক আগেই দেওয়া হয়েছিল। তবে কোথাও কোথাও কীভাবে এটি করা যায় তা আমি খুঁজে পেলাম না। সুতরাং আমি ভেবেছিলাম এটি হয়ত একই সমস্যাযুক্ত কাউকে সহায়তা করবে। যতক্ষণ না কোমলারের সন্ধান করা যায় ততক্ষণ বুস্ট ইনস্টল করা আছে তার বিষয়টি বিবেচনা করা উচিত। এবং এটি আপনাকে সেই সংস্করণ নম্বর দেবে যা একযোগে কমলার দ্বারা ব্যবহৃত হয়, যখন আপনি একাধিক সংস্করণ ইনস্টল করেছেন।
{
VERS=$(echo -e '#include <boost/version.hpp>\nBOOST_VERSION' | gcc -s -x c++ -E - | grep "^[^#;]")
} &> /dev/null
বর্তমান বুস্ট সংস্করণ (লিনাক্স উবুন্টু) পাওয়ার আরও একটি উপায়:
~$ dpkg -s libboost-dev | grep Version
Version: 1.58.0.1ubuntu1
রেফ: https://www.osetc.com/en/how-to-install-boost-on-ubuntu-16-04-18-04-linux.html
ইতিমধ্যে উত্তর দেওয়া হতে পারে, তবে আপনার এবং কী ইনস্টলেশনটির উত্সাহ রয়েছে তা নির্ধারণ করার জন্য আপনি এই সাধারণ প্রোগ্রামটি চেষ্টা করতে পারেন:
#include<boost/version.hpp>
#include<iostream>
using namespace std;
int main()
{
cout<<BOOST_VERSION<<endl;
return 0;
}
BOOST_VERSION
কিছুটা ডিসিফেরিং লাগে তবেBOOST_LIB_VERSION
তা বেশ পরিষ্কার। আমার মান বর্তমানে"1_42"