क्या सिस्टम पर Boost C ++ पुस्तकालयों के संस्करण को निर्धारित करने का एक त्वरित तरीका है?
क्या सिस्टम पर Boost C ++ पुस्तकालयों के संस्करण को निर्धारित करने का एक त्वरित तरीका है?
जवाबों:
सूचनात्मक मैक्रो को बढ़ावा देना । आप की जरूरत है: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/include/boost/version.hpp (Ubuntu 13.10) में देखें और सीधे जानकारी पढ़ें
#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 बैश ।
निम्नलिखित कर रहा है, जो एक चर में संस्करण कोड संग्रहीत करता है, त्रुटियों को दबाता है। यह स्वीकृत उत्तर की टिप्पणियों में मैक्सस्क्लेज़िग से उदाहरण का उपयोग करता है। (टिप्पणी नहीं कर सकते, 50 प्रतिनिधि नहीं है)
मुझे पता है कि यह बहुत समय पहले उत्तर दिया गया है। लेकिन मुझे यह नहीं लगा कि मैं इसे कैसे भी कर सकता हूं। इसलिए मैंने सोचा कि इससे किसी को भी समस्या हो सकती है। इसके अलावा यह काम नहीं करना चाहिए जहां बूस्ट स्थापित किया गया है, जब तक कि कॉमरेड इसे पा सकता है। और यह आपको वर्जन नंबर देगा जो कि कॉमिकलर द्वारा एक्यूट रूप से उपयोग किया जाता है, जब आपके पास कई वर्जन इंस्टॉल होते हैं।
{
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
Ref: 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"