您的位置:首页 > 其它

Mac Boost安装及使用(命令行和Xcode)

2016-12-10 02:14 471 查看

安装

下载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

大功告成

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: