树莓派上安装boost库
一、安装boost库
sudo apt-get install libboost-dev
aptitude search boost
二、编写测试代码
#include <iostream>
#include <string>
#include <boost/program_options.hpp> namespace bpo = boost::program_options;
using namespace std; int main(int argc, char const *argv[])
{
//步骤1:构造选项描述器
//选项描述起,其参数为该描述器名字
bpo::options_description opts("all options");
//选项存储器,继承自map容器
bpo::variables_map vm; //步骤2:为选项描述器增加选项
//其参数依次为:key,value的类型,该选项描述
opts.add_options()
("filename", bpo::value<std::string>(), "the file name which want to be found")
("help", "this is a program to find a specified file"); //步骤3:先对命令行输入的参数做解析,而后将其存入选项存储器
//如果输入了未定义的选项,程序会抛出异常,所以对解析代码要用try-catch块包围
try {
//parse_command_line()对输入的选项做解析
//store()将解析后的结果存入选项存储器
bpo::store(bpo::parse_command_line(argc, argv, opts), vm);
} catch(...) {
std::cout<<"Input option not exsited."<<std::endl;
return ;
} //步骤4:参数解析完毕,处理实际信息
//count()检测该选项是否被输入
if(vm.count("help")) { //若参数中有help选项
//options_description对象支持流输出,会自动打印所有的选项信息
std::cout<<opts<<std::endl;
}
if(vm.count("filename")) {
//variables_map(选项存储器)是std::map的派生类,可以像关联容器一样使用,
//通过operator[]来取出其中的元素,但其内部的元素类型value_type是boost::any,
//用来存储不确定类型的参数值,必须通过模版成员函数as<type>()做类型转换后,
//才能获取其具体值
std::cout<<"find"<<vm["filename"].as<std::string>()<<std::endl;
}
if(vm.empty()) {
std::cout<<"no options found"<<std::endl;
}
return ;
}
编译时要加上库名字:
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 file pi@raspberrypi:~/chen_DIR/weihua/myoptions $ ./s --filename s
finds
树莓派上安装boost库的更多相关文章
- C++: Mac上安装Boost库并使用CLion开发
1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...
- 在Ubuntu上安装boost库[转]
在编译kenlm的时候需要安装boost,去官网下载boost安装包,然后按照以下步骤安装. boost官网 -----------------以下内容,网上转载------------------- ...
- ubuntu上安装boost库
只需一条命令: sudo apt install libboost-dev
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- Centos 安装boost库
1.在http://www.boost.org/下载boost安装包boost_1_65_1.tar.gz 2.在Centos上解压tar -zxvf boost_1_65_1.tar.gz后,cd ...
- 在树莓派上安装Theano
“查遍全网都没人成功在树莓派安装Theano,这是什么样的感觉?” ——写在开头 在这里必须先说一下,由于安装过程中的坑太多了,遇到的问题层出不穷,所以我这里只能记录我安装过程中的印象深刻的问题,如果 ...
- ubuntu 下安装boost库
ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...
- VS2010下安装boost库
在我们的C++项目中安装boost库,下面以VS2010版本作为例子,其它版本的设置也差不多. 一.编译生成boost库 1.下载最新的boost(本人下载的是boost_1_56_0).boost官 ...
- windows下编译和安装boost库
boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...
随机推荐
- sql2008质疑处理方法
日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常操作如数据库在读写时而无故停止数据库,从 ...
- POJ 3525 Most Distant Point from the Sea (半平面交)
Description The main land of Japan called Honshu is an island surrounded by the sea. In such an isla ...
- 某些 UI效果 实现思路
一.日历组件: https://blog.csdn.net/amork/article/details/7257212 二.瀑布流 三.轮播图:轮播图已经用的很多了,结构也简单就不去将了. 四.分页组 ...
- Linux 下查看用户组信息
1.id 通过id 可以直接查看到当前登陆用户的uid, group id , group name 等等.. 2.groups
- 异常的处理try-catch
Java异常处理 Java采用的异常处理机制,是将异常处理的程序代码集中在一起, 与正常的程序代码分开,使得程序简洁.优雅,并易于维护. * 异常的处理: 抓抛模型*** 过程一 : 抛, 程序在执行 ...
- 1.OpenCV数据类型
基础类型 1.模板类cv::Vec<> 固定向量类,维度已知的小型向量——处理效率高 2.cv::Point类(Point2i,Point2f,Point2d;Point3i,Point3 ...
- 11. Jmeter-后置处理器二
jmeter-后置处理器介绍与使用二 今天我们接着讲 JSR223 PostProcessor Debug PostProcessor JDBC PostProcessor Result Status ...
- APP测试功能点大全
APP测试要点 APP测试的时候,建议让开发打好包APK和IPA安装包,测试人员自己安装应用,进行测试.在测试过程中需要注意的测试点如下: 1.安装和卸载 ●应用是否可以在IOS不同系统版本或 ...
- Jmeter 使用技巧 (如何在linux下运行jmeter视窗界面呢)-jmeter如何模拟http发送gzip数据
jmeter如何模拟http发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量. 当然, 服 ...
- 转 LoadRunner错误处理函数
在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式.进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Han ...