boost的编译和使用(window下)
我的系统是win64的,之前装过boost但是忘记具体的安装过程了,看很多教程里写直接先运行boostrap 和 bjam 就可以了,但是我运行出来的库在vs x64下有版本冲突:库计算机类型与目标计算机类型x64冲突,因此想起来应该是需要在bjam的时候进行一些环境参数的配置:
bjam stage --toolset=msvc-14.0 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="c:\boost\boost_1_64_0\bin\vc141-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release
其中有一些参数对于64位编译的:architecture=x86 address-model=64, 如果系统是32位的话,就将这两个参数删除就可以了; --toolset用于设置编译的方式,这里是visual studio2015, 所以是14.0, runtime_link 的赋值shared和static分别表示生成动态库和静态库, debug和release分别表示生成debug版本的库和release版本的库; 所有生成的库系那个会存放在--stagedir指定的路径中;
所以具体的安装过程如下:
1. https://www.boost.org/users/history/ 这个网址下载以往发布的版本,最新版本可visit:https://www.boost.org/users/download/
2. 下载对应的版本后解压,然后直接在解压后的目录下双击bootstrap批处理文件,即可生成b2.exe 和bjam.exe文件,这两个文件都可以用于boost的安装
3. windows下cmd进入命令行,然后进入bjam所在的目录,64为的话直接运行:
bjam stage --toolset=msvc-14.0 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="c:\boost\boost_1_64_0\bin\vc141-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release
32位,即x86的库直接运行:
bjam stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="c:\boost\boost_1_64_0\bin\vc141-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release
编译的时间会比较久一点,结束后会生成release和debug的库承兑出现,以filesystem这个库为例:
libboost_filesystem-vc140-mt-gd-1_64
libboost_filesystem-vc140-mt-1_64
有gd的表示debug版本,无gd表示release版本;mt表示多线程;
4.在Cmakelists文件中的引用,一般来讲需要三个部分:
#设置包含目录
include_directories("D:/boost_1_64_0/boost_1_64_0/")
#设置库的链接目录
link_directories("D:/boost_1_64_0/boost_1_64_0/vc141-x64/lib")add_executable(capturevideo capture.cpp)
target_link_libraries(capturevideo${OpenCV_LIBS}libboost_filesystem-vc140-mt-gd-1_64)
#target_link_libraries中添加指定的库,注意具体名称需要和自己的debug和release版本一致
REF: https://blog.csdn.net/rocklee/article/details/72885587
boost的编译和使用(window下)相关推荐
- ffmpeg在window下的编译
文档:ffmpeg在window下的编译.note 链接:http://note.youdao.com/noteshare?id=b68bb4302f7661eba92478d917347592&am ...
- lapack 在window下编译
lapack 在window下编译 今天进行了Lapack3.8.0在windows下编译 1. 首先使用CMake进行vs2015下的工程生成,碰到了一个变量没有设置的问题: string(TOUP ...
- window下搭建qnx编译环境
引言 window下搭建qnx编译环境 流程说明 1. 前置条件说明 1.1 安装cmake 下载地址(https://cmake.org/files/v3.18/ 的make-3.18.1-win6 ...
- Spark2学习2之window下编译spark-2.0.0
更多代码请见:https://github.com/xubo245/SparkLearning Spark中组件Ml的学习 1.解释 (1)基本配置: scala-2.11.8 java1.7 mav ...
- window下libevent编译及其使用
1.编译选项-MT/MD: 类别 说明 静态连接 多线程(/MT) 多线程Release.DLL版运行时库 ,只能用于Release版本 LIBCMT.lib 多线程调试(/MTd) 多线程Debu ...
- window下基于vscode编译下载AT32工程备忘录
前言 大部分32位MCU在MDK平台都可以编译,但是MDK是基于window下.并且MDK在代码提示方面并没有做的有vscode好,并且vscode在linux平台下也能用,所以本人考虑将vscode ...
- 在Window下编译OpenH323
前言: 本文只提供VC6.0的编译说明,如果想知道VC.Net下的编译过程请参看原文. 原文 : http://www.voxgratia.org/docs/pwli ...
- linux 保存编译log,(转)Linux下编译安装log4cxx
一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...
- 防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
1. 汉化代码里的资源 virtviewer使用的是gettex的方案是标准的linux里国际化的方案.按道理仅仅须要改动virtualviewer/po/zh_CN.po的文件. 编译. 然后确认在 ...
最新文章
- Python 网易新闻热点新闻爬虫
- 超级计算机 红皇后,阿丽塔诺瓦不是最大反派 幕后大boss超级计算机黑化AI
- Ogre 1.7 构建编译
- 六年级计算机课学什么时候,六年级信息技术《进一步了解计算机》教学设计
- aftool刷工具提示15天_【15天】【指数600+】关键词百度首页【实战分析】【面授学员】...
- 火狐firefox插件配合scrapy,注意tbody会导致empty
- am335x mysql_Ubuntu下编译ARM平台QtEmbedded的MySQL和MySQL插件
- 沈向洋离开微软,曾是华人在美科技圈最高级高管,畅谈职业生涯的 7 堂课!...
- Oracle undo 管理
- 锚杆拉拔试验弹性模量计算_公路工程试验检测项目有哪些?
- 精通CSS滤镜(FILTER)
- mean shift聚类matlab,机器学习:Mean Shift聚类算法
- 设计师点评互联网巨头Logo
- Unity中摄像机绕物体旋转和拉近拉远视角的操作
- 【Java异常】Caused by: com.sun.mail.iap.BadCommandException: A3 BAD invalid command or parameters的解决方案
- Blog Management System Based on JSP(基于JSP的实验室设备管理系统的开发)外文翻译
- Docker生态系统:常规组件简介
- The Timebox
- linux双系统如何选择顺序,双系统中怎么设置Ubuntu多系统的默认启动顺序?
- 中年转行,拥抱互联网(上)
热门文章
- [Python] 维度交换函数:transpose(m,n,r)和permute(m,n,r)
- AD19调用器件封装时报错Access violation at address 0000000141A9EDD4 in module 'IntegratedLibrary.DLL'.
- WPF自定义LED风格数字显示控件
- VMWare workstation Pro 14 For Linux key
- java多线程02-----------------synchronized底层实现及JVM对synchronized的优化
- 解除mysql只有本机可以访问的限制
- scala中的数组的转换操作
- nodejs与sqlite
- C++ 类的静态成员详细讲解(转)
- 排序1+3:基数排序(RadixSort),希尔排序(ShellSort)和快速排序(QuickSort)