树莓派上安装boost库
生活随笔
收集整理的這篇文章主要介紹了
树莓派上安装boost库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、安裝boost庫
sudo apt-get install libboost-dev aptitude search boost?
二、編寫測試代碼
1 #include <iostream> 2 #include <string> 3 #include <boost/program_options.hpp> 4 5 namespace bpo = boost::program_options; 6 using namespace std; 7 8 int main(int argc, char const *argv[]) 9 { 10 //步驟1:構(gòu)造選項(xiàng)描述器 11 //選項(xiàng)描述起,其參數(shù)為該描述器名字 12 bpo::options_description opts("all options"); 13 //選項(xiàng)存儲器,繼承自map容器 14 bpo::variables_map vm; 15 16 //步驟2:為選項(xiàng)描述器增加選項(xiàng) 17 //其參數(shù)依次為:key,value的類型,該選項(xiàng)描述 18 opts.add_options() 19 ("filename", bpo::value<std::string>(), "the file name which want to be found") 20 ("help", "this is a program to find a specified file"); 21 22 //步驟3:先對命令行輸入的參數(shù)做解析,而后將其存入選項(xiàng)存儲器 23 //如果輸入了未定義的選項(xiàng),程序會拋出異常,所以對解析代碼要用try-catch塊包圍 24 try { 25 //parse_command_line()對輸入的選項(xiàng)做解析 26 //store()將解析后的結(jié)果存入選項(xiàng)存儲器 27 bpo::store(bpo::parse_command_line(argc, argv, opts), vm); 28 } catch(...) { 29 std::cout<<"Input option not exsited."<<std::endl; 30 return 0; 31 } 32 33 //步驟4:參數(shù)解析完畢,處理實(shí)際信息 34 //count()檢測該選項(xiàng)是否被輸入 35 if(vm.count("help")) { //若參數(shù)中有help選項(xiàng) 36 //options_description對象支持流輸出,會自動打印所有的選項(xiàng)信息 37 std::cout<<opts<<std::endl; 38 } 39 if(vm.count("filename")) { 40 //variables_map(選項(xiàng)存儲器)是std::map的派生類,可以像關(guān)聯(lián)容器一樣使用, 41 //通過operator[]來取出其中的元素,但其內(nèi)部的元素類型value_type是boost::any, 42 //用來存儲不確定類型的參數(shù)值,必須通過模版成員函數(shù)as<type>()做類型轉(zhuǎn)換后, 43 //才能獲取其具體值 44 std::cout<<"find"<<vm["filename"].as<std::string>()<<std::endl; 45 } 46 if(vm.empty()) { 47 std::cout<<"no options found"<<std::endl; 48 } 49 return 0; 50 }?
編譯時要加上庫名字:
g++ -o s main.cpp -lboost_program_options使用效果:
pi@raspberrypi:~/chen_DIR/weihua/myoptions $ ./s --help all options:--filename arg the file name which want to be found--help this is a program to find a specified filepi@raspberrypi:~/chen_DIR/weihua/myoptions $ ./s --filename s finds?
轉(zhuǎn)載于:https://www.cnblogs.com/ch122633/p/8690235.html
總結(jié)
以上是生活随笔為你收集整理的树莓派上安装boost库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。