mac上编译boost
来源:互联网 发布:北海行知学校怎么样 编辑:程序博客网 时间:2024/05/22 16:21
MAC上编译boost后在QT上使用时遇到两个问题,第一个是target版本不同 ,QT的版本是10.8,而boost编译出来的是10.12,因为我的mac刚升级到10.12.这样在连接boost时就报错。库的版本高于QT的要生成的APP的版本。
第二个问题是链接libboost_filesystem.a时报错 :-1: error: symbol(s) not found for architecture x86_64
这错误报的也是一头雾水,原来是少少依赖了一个库libboost_system.a
加上:
LIBS += /Users/gaolin/Public/boost_1_63_0/stage/lib/libboost_filesystem.a
LIBS += /Users/gaolin/Public/boost_1_63_0/stage/lib/libboost_system.a
编译通过,一切OK
对于第一个问题,可以在编译boost时指定低版本:
./b2 toolset=clang cxxflags="-arch x86_64" linkflags="-arch x86_64" cflags=-mmacosx-version-min=10.8 cxxflags=-mmacosx-version-min=10.8 mflags=-mmacosx-version-min=10.8 mmflags=-mmacosx-version-min=10.8 linkflags=-mmacosx-version-min=10.8 toolset=clang link=static runtime-link=static --with-filesystem variant=debug -a
因为我的QT target版本就是10.8,所以版本一致,自然就可以编译通过。
也可以通过修改QT的target版本来达到效果:
Qt/5.7.clang/mkspecs/macx-clang/qmake.conf
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.8
改为QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
重新编译工程就通过了。
参考:http://stackoverflow.com/questions/40347361/c-mac-os-x-xcode-8-compile-boost-set-deployment-target-to-os-x-10-11
参考: http://blog.csdn.net/yongshengsilingsa/article/details/25228137
- Mac上编译boost
- Mac 上编译Boost
- Mac上编译boost
- mac上编译boost
- Mac上编译并使用 boost
- Mac上编译安装运行c++ boost库简单步骤
- linux/mac平台上编译安装boost库
- mac 10.9 下编译boost
- mac 10.9 下编译boost
- boost 1.51.0 在MAC系统上编译Android序列化静态库
- Linux上编译安装boost
- Mac OS上安装Boost C++ Libraries
- 在ubuntu上编译boost,boost的安装目录设置
- 编译boost在ios上使用
- 在新版xcode上编译boost
- 编译boost在ios上使用
- 在Mac上编译CURL
- 在mac上编译openssl
- 最容易懂得红黑树
- Android多渠道打包实战
- 读《Redis入门指南》2
- iOS可能用到的小知识
- poj 3259 worm-holes spfa判断负权回路
- mac上编译boost
- synchronized关键字总结
- 探索并发编程(六)------Java多线程性能优化
- iOS App 上架流程图文教程
- this.class.getClassLoader()怎么理解?
- 求连通分量
- php常用正则表达式收集
- Linux Netfilter开发小结
- Linux学习笔记14 sed,locate,find