Mac下Boost环境搭建
Boost,一个功能强大、跨平台、开源而且免费的C++程序库,可以在其官网了解更多:http://www.boost.org,C++标准经过不断的升级完善,现在已经功能越来越吸引人了,Boost开发过程中也吸引了很多C++11新特性,从而更兼容C++的标准库了,这样,有什么理由不用它呢?虽然很多东西我们可以自己写,但是,借助功能稳定的库,可以提高生产力,节约程序员的时间,何乐不为?当然,并非让我们只是调用函数,传参数,完成任务就行了,如果不去了解下背后原理,那只能称之为码农,而不是程序员了。
由于开发环境基于Mac,那就基于它来搭建一个开发平台,来体验boost库的设计美妙和功能强大吧~:
1. 首先,需要下载boost的源码包,可以从官网下载,也可以这里下载:boost_1_60_0.tar.bz2
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++)
Mac下Boost环境搭建的更多相关文章
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- mac下wordpress环境搭建
mac下本来就有apache和php,只需要配置以下+安装mysql 1.Apache 预装目录在 /etc/apache2: 默认的网站目录在 /Library/WebServer/Documen ...
- mac下 jenkins 环境搭建
这几天搞了一些持续集成的工作,在所难免的接触到了jenkins ,下边写一下jenkins 在 mac os 环境下的搭建和配置. 1.tomcat 下载 前往apache 官网下载所需版本的tomc ...
- mac下android环境搭建笔记(android studio)
本文记录了本人在mac上配置android开发环境的一些过程,为了方便直接选用了官方的IDE– Android Studio .本文包括了android studio的安装.创建第一个hello wo ...
- MAC 下SFT环境搭建及使用
基本环境的搭建就不说了,网上一搜就是一堆 记录下正常的使用过程,主机-服务器是MAC机,从机-Windows机子 1.STF服务启动(挂后台的服务,启动后输入 exit退出进程即可) 后台启动DB:n ...
- 【selenium 3】 Mac 下测试环境搭建 Firefox 47+ gecko driver Mac
错误代码如下:File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriv ...
- Mac下Lua环境搭建
lua源文件下载安装 到官网安装了lua包,我安装的是 lua-5.3.1 解压之后,命令行cd进入到src目录下,输入make macosx 完成后cd ..到上一层目录, 输入sudo make ...
- [Android]mac下开发环境搭建
好像没神马好些的? 1.下载adt-bundle-mac-x86_64bit(http://developer.android.com/sdk/installing/bundle.html) 2.解压 ...
- mac下go环境搭建开发web工程
1,golang下载: http://www.golangtc.com/download https://golang.org/ https://beego.me/docs/intro/ 2,安装go
随机推荐
- js鼠标事件大全
一般事件 事件 浏览器支持 描述 onClick HTML: 2 | 3 | 3.2 | 4 Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDb ...
- 在asp.net mvc4项目里bootstrap datetimepicker控件的使用
前段时间写了一篇关于调用阿里大于的短信接口来开发例会短信群发通知功能的文章http://www.cnblogs.com/zhouyuangan/p/apicall_1.html,其中的例会时间是需求中 ...
- Word密码破解工具字典攻击用来干什么的
AOPR全称Advanced Office Password Recovery作为一款专业的Word密码破解工具,是通过暴力破解的方式帮助用户迅速恢复各种Word文档的密码,其中常常会用到字典攻击,这 ...
- 解决:Microsoft Office Word已停止工作
1/按组合键WIN+R打开运行对话框 2/在打开框中键入%USERPROFILE%\AppData\Roaming\Microsoft\Templates,单击“确定”按钮 3/在打开的窗口鼠标右键删 ...
- 数据结构图文解析之:栈的简介及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- 【BZOJ-1340】Escape逃跑问题 最小割
1340: [Baltic2007]Escape逃跑问题 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 264 Solved: 121[Submit] ...
- 【bzoj3505】 Cqoi2014—数三角形
http://www.lydsy.com/JudgeOnline/problem.php?id=3505 (题目链接) 题意 给定一个n*m的网格,请计算三点都在格点上的三角形共有多少个. Solut ...
- How to setup vsftpd FTP file Server on Redhat 7 Linux
Forward from: https://linuxconfig.org/how-to-setup-vsftpd-ftp-file-server-on-redhat-7-linux How to s ...
- Java开发面试总结
Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...
- UVALive 4329 Ping pong
Ping pong Time Limit: 3000MS Memory Limit: Unknown 64bit IO Fo ...