mac下使用clion构建boost库

使用brew install boost

完成后发现boost被安装在在/usr/local/Cellar/boost下

jetbrain给出的指导意见

https://www.jetbrains.com/help/clion/quick-cmake-tutorial.html

==================

=============

http://blog.csdn.net/to_be_better/article/details/53967198

自己设定boost头文件和库文件位置

-

cmake_minimum_required(VERSION 3.6)

#设置项目名称

project(demo)

set(CMAKE_CXX_STANDARD 11)

set(BOOST_ROOT "/usr/local/include/boost")

#添加头文件搜索路径

include_directories(/usr/local/include)

#添加库文件搜索路径

link_directories(/usr/local/lib)

#用于将当前目录下的所有源文件的名字保存在变量 DIR_SRCS 中

aux_source_directory(. DIR_SRCS)

add_executable(demo ${DIR_SRCS})

#在这里根据名字boost_thread去寻找libboost_thread.a文件

target_link_libraries(demo boost_thread boost_system)

==============

=============

https://stackoverflow.com/questions/28761323/how-to-include-external-library-boost-into-clion-c-project-with-cmake

让Clion自动寻找

cmake_minimum_required(VERSION 2.8.4)

project(BoostTest)

message(STATUS "start running cmake...")

find_package(Boost 1.57.0 COMPONENTS system filesystem REQUIRED)

if(Boost_FOUND)

message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")

message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")

message(STATUS "Boost_VERSION: ${Boost_VERSION}")

include_directories(${Boost_INCLUDE_DIRS})

endif()

add_executable(BoostTest main.cpp)

if(Boost_FOUND)

target_link_libraries(BoostTest ${Boost_LIBRARIES})

endif()

===========

=============

mac下从源码编译boost库文件

下载boost
点击链接下载boost_1_61_0.tar.bz2

解压

tar jxvf boost_1_61_0.tar.bz2

运行bootstrap.sh脚本

sh bootstrap.sh

编译boost

./b2

输出说明
编译完成后

  • 头文件在当前目录下的boost中。
  • lib库在stage/lib下

作者:byd913

链接:http://www.jianshu.com/p/7ab8ac4cb0ad

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另外可以参考这里

http://www.cnblogs.com/linjk/p/6052886.html

=============

=============

这里有一个完整的CMakeList.txt文件的编写方法

http://blog.csdn.net/pyang1989/article/details/41725747

1.写好cpp文件
2.写CmakeList.txt,注意里面
set(BOOST_COMPONENTS IOStreams Thread Filesystem Regex Serialization Signals System Timer)
find_package(Boost 1.57.0 COMPONENTS ${BOOST_COMPONENTS})
IOStreams Thread之类均为Boost的各个组件,完整的在lib目录下,例如libboost_iostreams.a 则iostreams则为组件名,不区分大小写。这里配置不正确的话,cmake能通过,make的时候出错Undefined symbols for architecture x86_64

完整CmakeList.txt:

cmake_minimum_required (VERSION 2.6)

project(Boost)

add_executable(Boost Boost.cpp)

set(Boost_INCLUDE_DIRS “/Users/yang/DEVELOPMENT/ProgramFiles/Boostinstallation/include”)

set(Boost_LIBRARIES “/Users/yang/DEVELOPMENT/ProgramFiles/Boostinstallation/lib”)

set(BOOST_COMPONENTS IOStreams Thread Filesystem Regex Serialization Signals System Timer)

set(Boost_USE_STATIC_LIBS ON)

set(Boost_USE_MULTITHREADED ON)

set(Boost_USE_STATIC_RUNTIME OFF)

find_package(Boost 1.57.0 COMPONENTS ${BOOST_COMPONENTS})

if(Boost_FOUND)

include_directories(${Boost_INCLUDE_DIRS})

target_link_libraries(Boost ${Boost_LIBRARIES})

endif()

这样便可以依次执行cmake和make命令生成可执行应用程序了。

================

===============

我的可以运行的例子:

cmake_minimum_required(VERSION 3.6)
project(boost_All) message(STATUS "start running cmake...")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories(./client_asio)
include_directories(./server_asio) set(SOURCE_FILES server_asio/main.cpp)
add_executable(boost_All ${SOURCE_FILES}) set(Boost_INCLUDE_DIR /Users/lizhen/src_github/boost_1_65_1/)
#set(boost_LIBRARIES /Users/lizhen/src_github/boost_1_65_1/stage/lib)
set(Boost_COMPONENTS Thread Filesystem Regex Serialization Signals System Timer REQUIRED) set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIS_RUNTIME OFF) find_package(Boost COMPONENTS ${Boost_COMPONENTS})
if (Boost_FOUND)
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(STATUS "Boost_VERSION: ${Boost_VERSION}")
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries(boost_All ${Boost_LIBRARIES})
endif()

mac下使用clion构建boost库的更多相关文章

  1. mac下svn问题——“.a”(静态库)文件无法上传解决

    mac下svn问题——“.a”(静态库)文件无法上传解决    “.a”(静态库)文件无法上传(svn工具:Versions)          网上查询了一下,说是Xcode自带的svn和Versi ...

  2. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  3. mac下用clion进行sdl2游戏开发de环境搭建

    1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...

  4. Mac下python初学之Image库(PIL)

    Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...

  5. VS2008下直接安装使用Boost库1.46.1版本号

    Boost库是一个可移植.提供源码的C++库,作为标准库的后备,是C++标准化进程的发动机之中的一个. Boost库由C++标准委员会库工作组成员发起,当中有些内容有望成为下一代C++标准库内容.在C ...

  6. VS2008下直接安装使用Boost库1.46.1版本

    Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C++ ...

  7. boost::VS2017下编译和配置boost库

    环境: win10  vs2017  v141 1.下载  boost_1_70_0.zip. 2.以管理员方式打开 3. bootstrap.bat 4.编译64位库 b2.exe stage -- ...

  8. Mac下配置PHP支持GD库FreeType

    一句话脚本 curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6 记得要FQ哦. 或者下面代码保存成.sh ,代码从http://php-os ...

  9. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

随机推荐

  1. H5面试题整理

    1.新的HTML5文档类型和字符集是? 文档类型:<!doctype html> 使用UTF-8编码示例:<meta charset="UTF-8"> 2. ...

  2. ajax 全局拦载处理,可加密、过滤、筛选、sql防注入处理

    //此方法放在公用的js里面即可.如此:所有的ajax请求都会通过此 $.ajaxSetup({ contentType: "application/x-www-form-urlencode ...

  3. Angularjs基础(八)

    AngularJS Bootstrap AngularJS 的首选样式表是 Twitter Bootstrap ,Twitter Bootstrap 是目前最受欢迎的前端框架 Bootstrap 你可 ...

  4. shardedJedisPool工具类

    这里使用的是ShardedJedisPool,而不是RedisTemplate 1.配置文件 <?xml version="1.0" encoding="UTF-8 ...

  5. NPOI追加内容到xlsx报错,用Epplus往excle xlsx追加数据

    问题的现象就是,只要不修改xlsx,一直写入或者再次写入xlsx,追加内容都是不会有问题的.但是只要你修改了xlsx,用excle2010或者2007修改了xlsx的内容里面的列宽,或者行高,或者进行 ...

  6. [NodeJs系列][译]理解NodeJs中的Event Loop、Timers以及process.nextTick()

    译者注: 为什么要翻译?其实在翻译这篇文章前,笔者有Google了一下中文翻译,看的不是很明白,所以才有自己翻译的打算,当然能力有限,文中或有错漏,欢迎指正. 文末会有几个小问题,大家不妨一起思考一下 ...

  7. PHP如何实现99乘法表?

    看到这个问题,可能大家更多的是考虑到用for循环,个人觉得使用for循环太影响程序性能.推荐使用递归处理.  /** * Title : 递归实现99乘法表 * Author : Bruceqi * ...

  8. Hadoop(5)-HDFS概述

    HDFS产生背景 HDFS优缺点 HDFS组成架构 HDFS文件块大小

  9. python读取大文件和普通文件

    读取文件,最常见的方式是: with open('filename', 'r', encoding = 'utf-8') as f: for line in f.readlines(): do_som ...

  10. 嵌入式框架Zorb Framework搭建二:环形缓冲区的实现

    我是卓波,我是一名嵌入式工程师,我万万没想到我会在这里跟大家吹牛皮. 嵌入式框架Zorb Framework搭建过程 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建.调试输出和建立时间系 ...