Clion使用MinGW编译好的boost库
MinGW编译Boost库可以参考我之前写的编译Boost的文章。
以下是cmake链接boost静态库的配置:
cmake_minimum_required(VERSION 3.8) project(clions) set(CMAKE_CXX_STANDARD 14)
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/Install CACHE PATH "Install here" FORCE) set (Boost_USE_STATIC_LIBS ON) # enable dynamic linking
set (Boost_USE_MULTITHREAD ON) # enable multithreading # windows 下设置这两个路径,find_package才能找到Boost
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "D:/MathxH/3rd-party/boost_1_67_0/bin/static/include/boost-1_67")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "D:/MathxH/3rd-party/boost_1_67_0/bin/static/lib") find_package(Boost) if(NOT Boost_FOUND)
message("not found boost package")
else()
message("found boost package")
include_directories(${Boost_INCLUDE_DIR})
LINK_DIRECTORIES(${CMAKE_LIBRARY_PATH})
## ADD_DEFINITIONS("-DHAS_BOOST") message("includes: ${Boost_INCLUDE_DIRS}") # 这个可以打印出值来
message("libs: ${Boost_LIBRARIES}") #这个变量在windows下找不到,为空
endif() if(USE_32BITS)
message("build x86 target")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
else()
message("build x64 target")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
endif(USE_32BITS) add_executable(clions main.cpp) if(Boost_FOUND) if(CMAKE_BUILD_TYPE MATCHES "Debug")
message("linking debug lib")
target_link_libraries(clions libboost_filesystem-mgw81-mt-sd-x64-1_67.a libboost_system-mgw81-mt-sd-x64-1_67.a)
endif() if(CMAKE_BUILD_TYPE MATCHES "Release")
message("linking release lib")
target_link_libraries(clions libboost_filesystem-mgw81-mt-s-x64-1_67.a libboost_system-mgw81-mt-s-x64-1_67.a)
endif() endif() install(TARGETS clions DESTINATION debug CONFIGURATIONS Debug)
install(TARGETS clions DESTINATION release CONFIGURATIONS Release)
如果配置好Clion的ToolChain,它会自动运行以下cmake命令行,生成makefile:
cmake.exe -DCMAKE_BUILD_TYPE=Release -DUSE_32BITS=0 -DBOOST_ROOT=D:\MathxH\3rd-party\boost_1_67_0\bin\static -DBOOST_LIBRARYDIR=D:\MathxH\3rd-party\boost_1_67_0\bin\static\lib -G "CodeBlocks - MinGW Makefiles" D:\clions references:
https://www.cnblogs.com/magic-428/p/9144492.html
https://www.jetbrains.com/help/clion/2018.1/quick-cmake-tutorial.html?utm_campaign=CL&utm_content=2018.1&utm_medium=link&utm_source=product#d323175e256
https://cmake.org/cmake/help/v3.10/command/find_package.html
https://cmake.org/cmake/help/v3.0/module/FindBoost.html
https://stackoverflow.com/questions/6646405/how-do-you-add-boost-libraries-in-cmakelists-txt
Clion使用MinGW编译好的boost库的更多相关文章
- windows下编译和安装boost库
boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...
- Qt编译和使用boost库(附QT5.51的Boost下载)good
配置gcc可以在cmd中使用 添加MinGW到环境变量 安装过Qt的都已经默认安装过MinGw的环境了,只需要找到配置一下环境变量就行 我的在D:\Qt5.5.1\Tools\mingw492_32\ ...
- [转]Linux编译和安装boost库
1. 下载boost安装包并解压缩 到http://www.boost.org/下载boost的安装包,以boost_1_58_0.tar.gz为例 下载完成后进行解压缩: tar zxvf boos ...
- 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位),超详细,boost于vs2017下编译(64/32bit)
首先下载得到boost的最新版(目前最新版是1.63) 下载地址: http://www.boost.org 也可以从这里直接下载 http://download.csdn.net/detail/ ...
- vs2012 MinGW 编译ffmeg 引用外部库libx264,librtmp
VS2012如何编译ffmpeg前面已经有文章讲过,本来主要讲述如何引用外部库libx264,librtmp, ffmpeg版本是3.0.2. 1. 下载x264源文件并编译 源码地址是http:// ...
- boost::VS2017下编译和配置boost库
环境: win10 vs2017 v141 1.下载 boost_1_70_0.zip. 2.以管理员方式打开 3. bootstrap.bat 4.编译64位库 b2.exe stage -- ...
- Windows 7 编译64位boost库
1. 官网下载boost 2. 解压boost到D:\Library\boost_1_64_0 3. 打开 VS2015 x64 本机工具命令提示符,输入 "d:" 回车,再输入 ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- windows下编译Boost库
下载源码 boost_1_66_0.7z 生成编译工具 D:\Project\boost_1_66_0> bootstrap.bat 配置Python环境变量(使用VS2017自带的32位pyt ...
随机推荐
- Maya Max python PySide集成 shiboken版本对应关系
Maya_Max _python_PySide集成_shiboken版本对应关系 1.如何查看 Maya Max 集成的 Python版本: Maya:在 Maya 的安装目录下的 bin 文件夹中找 ...
- java反射对实体类取值和赋值
public static void checkDesignerEdit(Object dtos) throws Exception { Class dtosClass = dtos.getClass ...
- MYSQL总览
第一,二,三范式解决的是非主属性的关系.BC 范式解决的是主属性的关系:第二范式:就是完全依赖,没有部分依赖([id,b]->c 即不能c即依赖id又依赖b):[非主属性不能依赖于主键的一部分, ...
- JAVA基础中的注意点(一)
1.标识符 标识符:标识某些事物用于区分的符号. (即区分某些事物的符号) 四条硬性规定: a.不能是 关键字.true.false.null. b.可以包含 字母.数字(0-9).下划线(_)或美 ...
- CISCO ACL配置(目前)
什么是ACL? 访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制 ...
- XamarinAndroid组件教程设置动画的设置插值器
XamarinAndroid组件教程设置动画的设置插值器 为动画设置插值器,可以使用BaseItemAnimator抽象类中的SetInterpolator()方法,其语法形式如下: public v ...
- AGC 007D.Shik and Game(DP)
题目链接 \(Description\) 数轴上有一个人,从\(0\)出发到\(E\),速度为\(1\).数轴上还有\(n\)只熊,每只熊会在经过后的\(T\)时刻后产生一个金币.给定\(E,T\)以 ...
- BZOJ.2679.Balanced Cow Subsets(meet in the middle)
BZOJ 洛谷 \(Description\) 给定\(n\)个数\(A_i\).求它有多少个子集,满足能被划分为两个和相等的集合. \(n\leq 20,1\leq A_i\leq10^8\). \ ...
- Python基础知识—sys模块初探
有关Python解释器的信息 与所有其他模块一样,必须使用import语句导入sys模块,即import sys. sys模块提供有关Python解释器的常量,函数和方法.dir(系统)给出了可用常量 ...
- Python3基础-代码阅读系列—素数
生成素数代码展示 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. primenumber = [] upperlimit = 2 ...