Boost,一个功能强大、跨平台、开源而且免费的C++程序库,可以在其官网了解更多:http://www.boost.org,C++标准经过不断的升级完善,现在已经功能越来越吸引人了,Boost开发过程中也吸引了很多C++11新特性,从而更兼容C++的标准库了,这样,有什么理由不用它呢?虽然很多东西我们可以自己写,但是,借助功能稳定的库,可以提高生产力,节约程序员的时间,何乐不为?当然,并非让我们只是调用函数,传参数,完成任务就行了,如果不去了解下背后原理,那只能称之为码农,而不是程序员了。

  由于开发环境基于Mac,那就基于它来搭建一个开发平台,来体验boost库的设计美妙和功能强大吧~:

  1. 首先,需要下载boost的源码包

  2. 解压,目录结构如下:

    

    boos子目录下就是其源码了,它们按照功能划分,很清晰。

  3. 编译。编译器至少应支持C++98标准,这里使用gcc编译器,如下:

    

  4. 安装:

    执行解压目录下文件进行配置:"./bootstrap.sh"

    执行"sudo ./b2 --buildtype=complete install"进行boost所有库的安装,在mac下安装后头文件路径为:/usr/local/include/boost,库路径为/usr/local/lib

  5. 构建工具安装

    构建工具可以使用make、cmake等,这里使用boost自带的b2,它使用jamroot来配置、管理代码,然后每个模块子目录下都有jamfile。

    cd tools/build

    ./booststrap.sh

    sudo ./b2 install

  6. 测试代码:

    

  7. 编译运行:

    目录结构如下:

    

    jamroot和jamfile文件内容分别如下:

    

    jamroot说明了整个目录结构的编译规则,jamfile说明了文件的执行输出,如exe,unit-test等,现在需要测试main.cpp,进入te目录下执行b2命令即可,输出,执行后目录结构如下:

    

    可以看到,在jamfile声明了unit-test,在执行b2命令时也进行了单元测试,这里默认生成debug版本的输出文件,如果要发布,执行"b2 release"即可。这里看到输出boost版本为106000,现在可以使用boost来进行开发了。

    (也可以执行"g++ -o main.out main.cpp",注意,在ubuntu下需要加上-Istdc++,即:g++ -o main.out main.cpp -Istdc++)

GitHub: https://github.com/linjk LinJK: https://www.linjk.cn:3298

转载于:https://www.cnblogs.com/daochong/p/6917661.html

Mac下Boost环境搭建相关推荐

  1. 简单易行的用windows系统虚拟苹果mac操作系统 mac下android环境搭建笔记(android studio)

    作者:韩梦飞沙 QQ:313134555 ios模拟器电脑版中文版(iPadian)下载 - 『精品软件区』 - 吾爱破解论坛 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52po ...

  2. mac 本地php环境搭建,mac下php环境搭建的方法

    mac下php环境搭建的方法是:首先切换到root用户:然后查看80端口是否被占用:接着开启apache,并在"httpd.conf"中开启php模块:最后编写php代码进行测试即 ...

  3. mac下android环境搭建笔记(android studio)

    本文记录了本人在mac上配置android开发环境的一些过程,为了方便直接选用了官方的IDE– Android Studio .本文包括了android studio的安装.创建第一个hello wo ...

  4. 【selenium 3】 Mac 下测试环境搭建 Firefox 47+ gecko driver Mac

    错误代码如下: File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdri ...

  5. MAC下 ant 环境搭建

    (1)官网下载 http://ant.apache.org/bindownload.cgi 我使用的是1.9.4最新版本 我一般是将东西放到Document目录 具体放到什么位置 大家任意啦 (2)解 ...

  6. mac下kafka环境搭建 测试

    kafka介绍:https://blog.csdn.net/see_you_see_me/article/details/78468108 1.安装工具brew install kafka 会自动安装 ...

  7. virtualbox php mac,详解mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  8. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)...

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  9. Mac下修改环境变量

    Mac下修改环境变量 如果使用默认Bash, 首先修改 ~/.bash_profile 文件,添加文件路径,比如: export PATH=~/bin:/usr/local/bin/node:~/Do ...

最新文章

  1. javascript函数、对象及变量、正则表达式(7.19)
  2. 输入3个字符串,按由小到大顺序输出
  3. Android之提示Caused by: java.lang.UnsupportedOperationException: Binary XML file line #67: You must sup
  4. 深入研究微服务架构——第二部分
  5. 从1876年第一个电话至今:盘点英国通信变迁史
  6. mysql日志备份的脚本_脚本备份MySQL数据库和binlog日志
  7. 笑脸哭脸循环c语言,买卖信号(哭脸笑脸)选股公式(源码)
  8. 狂神设计模式笔记-工厂模式
  9. jQuery form插件使用详解
  10. 绑定host域名 修改手机hosts域名
  11. python输出100以内奇数的几种输出方式
  12. 农行笔试题之多少年后两国人均GDP相等
  13. 免费查看并下载知网文献
  14. 作业(数组)---运行环境winTC(二)
  15. ORA-01403未找到任何数据select into问题分析
  16. 【react】---redux-actions的基本使用---【巷子】
  17. 判断用户输入的年份(平年或闰年)
  18. 家谱世表怎么写?4个要点不注意,会让人贻笑大方的
  19. [原创]一种复制多轨加密VCD光盘(无文件怪碟)的心得
  20. 省市区三级行政区数据获取和GeoJson地图下载

热门文章

  1. 电子邮件传输算法-Base64
  2. 解决CentOS遇到Qt编译(error: cannot find -lGL)
  3. Linux Redis安装及使用
  4. win7中配置iis
  5. lucene中的nrt
  6. 微软十大软件开发英雄评选
  7. Verify_Execute 验证SQL语句执行结果
  8. Nginx配置SSL报错 nginx: [emerg] unknown directive ssl
  9. WEB字体,多列布局和伸缩盒
  10. TFS 无法找到新加的Windows用户