Mac Boost安装及使用(命令行和Xcode)
Posted shiyicode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac Boost安装及使用(命令行和Xcode)相关的知识,希望对你有一定的参考价值。
安装
- 下载boost安装包
官网下载地址
https://sourceforge.net/projects/boost/files/boost/1.62.0/
2.解压并进入boost_1_62_0文件夹
3.执行boostrap.sh
./boostrap.sh
4.上一步执行成功后会生成b2脚本,执行它
./b2
执行完毕后,头文件在boost_1_62_0/boost文件夹下
库文件在boost_1_62_0/stage/lib文件夹下也可以直接执行
./b2 install
执行完毕后头文件在/usr/local/include下
库文件在/usr/local/lib下
- 至此安装完成
使用
测试程序
直接包含一个头文件编译看是否通过即可
#include <boost/asio.hpp>
int main()
命令行
g++使用第三方库编译是如下命令
g++ a.cpp -I 头文件路径 -L 库文件路径 -l 动态链接库
对应到我们这里应该是
g++ a.cpp -I /usr/local/include -L /usr/local/lib -l boost_system -l boost_thread
必须要加,-l boost_system -l boost_thread,否则会报错
Undefined symbols for architecture x86_64:
“boost::system::system_category()”, referenced from:
boost::asio::error::get_system_category() in a-0e6774.o
___cxx_global_var_init.2 in a-0e6774.o
“boost::system::generic_category()”, referenced from:
___cxx_global_var_init in a-0e6774.o
___cxx_global_var_init.1 in a-0e6774.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Xcode
- 点击【项目工程文件】-》【Targets】-》【BuildSetting】-》【Search Paths】-》【Header Search Paths】输入头文件路径
- 点击【项目工程文件】-》【Targets】-》【BuildSetting】-》【Search Paths】-》【Library Search Paths】输入库文件路径
- 点击【项目工程文件】-》【Targets】-》【BuildSetting】-》【Linking】-》【Other Linker Flags】输入链接选项,输入-l boost_system -l boost_thread
大功告成
以上是关于Mac Boost安装及使用(命令行和Xcode)的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS X 上的 Boost.Python:“TypeError:属性名称必须是字符串”