首页 > 系统服务 > 详细

Mac OS 安装boost

时间:2015-05-07 16:59:36      阅读:1019      评论:0      收藏:0      [点我收藏+]

刚开始学习罗剑锋的《Boost程序库完全开发指南》,在Mac OS下按照Boost时出现了一些问题及解决方案。

环境:OS Yosemite(10.10.3)

Xcode:version 6.3

Boost:1.58.0


操作步骤:

  1. 下载Boost并解压;

  2. 依次./bootstrap.sh ./b2 ./b2 install;

  3. 在Xcode中进行配置(控制台工程),build Setting中添加Header Search Paths和Library Search Paths(为步骤2中安装路径),Build Phases中Link Binary With Libraries添加libboost_system.a;

  4. 测试:mian函数中#include "boost/asio.hpp",编译。


出现错误dyld: Library not loaded: libboost_system.dylib Referenced from: /Users/ShaunYi/Library/Developer/Xcode/DerivedData/LearningBoost-djvlfrwiebzlncahwbsrniqfduuu/Build/Products/Debug/LearningBoost Reason: image not found;

添加libboost_system.dylib后可以编译成功,但执行时会出现如下错误:dyld_fatal_error


原因:因为XCode5 完全切换到了LLVM,丢弃了GCC,所以使用旧版本GCC编译的boost库会出现load library的错误(dylib/dlopen???不是太明白原因),所以必须使用LLVM重新编译库,最好是编译成静态的。


解决方案:

编译boost库时使用如下命令:./bootstrap.sh toolset=clang;./b2 toolset=clang --without-mpi cxxflags="-arch i386 -arch x86_64 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -stdlib=libc++ -ftemplate-depth=512" linkflags="-stdlib=libc++" link=static stage install



Mac OS 安装boost

原文:http://coeus.blog.51cto.com/6624889/1643855

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!