[转]boost使用之编译库及遇到的问题
最近因为在学习网络编程相关的东西,准备学习一下boost,毕竟原生的网络编程太麻烦。看了一下其实windows下想使用起来很简单,就是下载库,然后运行脚本,然后运行exe库就出来。在把头文件和库的目录包含进去就可以了。在此详细记录一下:
0、预装准备
电脑WIN10系统,已经安装了VS2010。
1、下载boost文件
下载路径:https://www.boost.org/,建议如果是VS2010建议下载1.70.0,不要1.73.0。原因后面再讲。
2、运行脚本
管理员权限运行命令提示符,然后进入boost解压路径,运行bootbootstrap.bat。如果运行成功,会是这样的

然后在刚刚的目录下面会多了两个文件

这样就说明第二步执行成功了。
这里想强调一下有几个步骤还是挺重要的:
(1)命令提示符要以管理员权限,否者会出现下面的错误。

(2)会出现cl命令不是内部或者外部命令的问题。如下图所示:

出现上面的问题有两个解决方案
(一)修改环境变量
链接如下就不赘述了。
https://www.cnblogs.com/bodboy/p/7511195.html
(二)手动拷贝cl.exe
网上查阅的资料,搜索到cl.exe拷贝到system32下面就可以了

我执行了第一种方式不好用,第二种之后才能正常编译了。
(3)使用1.73.0编译不过。
我使用1.73.0会出现如下错误:

就一直卡在这一步,一直不动。有可能是因为我使用的是VS2010,好像查资料2015之后才行,这个不是很确认,但是我两台电脑都这样。
3、运行b2.exe生成lib。
运行b2.exe之后就会在根目录下生成stage文件夹,里面就是lib文件了。至此库就好了。
4、在VS里面添加头文件和附件库目录。
boost有一个比较好的地方,lib库不需要自己手动添加名称,就直接把路径加上就好。
这里有一个问题注意,最好不要使用别人已经编译好的库,如果别人编译器版本比你高,你直接拷贝的库是找不到的。比如你拷贝了libboost_atomic-vc140-mt-gd-x32-1_70.lib这种库,但是你是VS2010,编译器就会报错找不到libboost_atomic-vc100-mt-gd-x32-1_70.lib这种。编译的这种操作很简单,最好自己编译一下。
好的,今天就到这里吧。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u011553313/article/details/106180771/
[转]boost使用之编译库及遇到的问题的更多相关文章
- Boost下载安装编译配置使用指南
转载:http://www.cppblog.com/jerryma/archive/2011/10/17/158554.html --更新于2011/7/19,目前我已对boost的安装和使用有了新的 ...
- Boost下载安装编译配置使用指南(含Windows和Linux
理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...
- Boost下载安装编译配置使用指南(含Windows和Linux) .
理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...
- 使用boost.python封装C++库
使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...
- Boost中的网络库ASIO,nginx
boost C++ 本身就是跨平台的,在Linux.Unix.Windos上都可以使用. Boost.Asio 针对网络编程,很多服务端C++开发使用此库. 这个库在以下的平台和编译器上测试通过: ...
- cocos 3.16 生成预编译库模板
打开模板功能 不知道什么原因,cocos 3.16关闭了模板功能,因此使用cocos -h命令时,无法显示gen-templates参数. 打开的方式也挺简单,打开tools/cocos2d-cons ...
- Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库
Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...
- 使用预编译库PREBUILT LIBRARY官方说明
使用预编译库 NDK 支持使用预编译库(同时支持静态库和共享库).此功能有以下两个主要用例: 向第三方 NDK 开发者分发您自己的库(而不分发您的源代码). 使用您自己的库的预编译版本来提升编译速度. ...
- 10ISE14.7和modelsim10.5关联编译库
今天准备在ISE14.7中调用PLL的IP核,搞一下时钟的分频和倍频.可在我做好pll的IP核后,我直接用ise生成了一个仿真文件,只需要修改下例化模块名和加一个时钟就行勒. 问题:但怎么在ISE14 ...
- clang 搭建和编译boost 和zero ICE库 (Ubuntu10 64)
相关介绍资料如下: Boost编译http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/downlo ...
随机推荐
- FHQ treap(再见splay------)
但凡打过平衡树的应该都知道\(\huge{二逼平衡树}\)这道题,抄了两个小时的splay版题解,然后发现了\(\huge\color{maroon}FHQ treap\): $\large\colo ...
- 最后的组合:K8s 1.24 基于 Hekiti 实现 GlusterFS 动态存储管理实践
前言 知识点 定级:入门级 GlusterFS 和 Heketi 简介 GlusterFS 安装部署 Heketi 安装部署 Kubernetes 命令行对接 GlusterFS 实战服务器配置(架构 ...
- 快速部署pxc集群
点击查看代码 同步 systemctl stop firewalld && systemctl disable firewalld systemctl stop NetworkMana ...
- 几张图带你了解.NET String
String 字符串作为一种特殊的引用类型,是迄今为止.NET程序中使用最多的类型.可以说是万物皆可string 因此在分析dump的时候,大量字符串对象是很常见的现象 string的不可变性 str ...
- 学习JavaScript第六天
文章目录 1. JavaScript 中的垃圾回收机制(GC) 1.1 垃圾回收相关概念 ① 什么是垃圾 ② 什么是垃圾回收 ③ 垃圾没有及时回收的后果 ④ JavaScript 垃圾回收的常见算法 ...
- 【2024.09.15】NOIP2024 赛前集训(2)
[2024.09.15]NOIP2024 赛前集训(2) A 最大的难点戏剧性地变成了二叉搜索树是什么. 先根据已知序列把二叉树建出来,忘了二叉搜索树的移步 二叉搜索树 & 平衡树 - OI ...
- FPGA时序约束基础
一.时序约束的目的 由于实际信号在FPGA内部期间传输时,由于触发器等逻辑期间并非理想期间,因此不可避免地存在传输延时,这种延迟在高速工作频率.高逻辑级数时会造成后级触发器地建立时间和保持时间不满足, ...
- Codeforces Round 891 (div.3) D题解析
CodeForces Round 898 (div 4) D题.Strong Vertices 大致思路 对于题目的给的式子,au-av>=bu-bv,我们可以通过移项得到au-bu>=a ...
- JAVA并发编程学习笔记之Unsafe类
java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1.通过Unsafe类可以分配内存,可以释放内存: 类中提供的3个本地方法all ...
- rsync之实战
简介 rsync是远程(或本地)复制和同步文件最常用的命令. 借助rsync命令,你可以跨目录,跨磁盘和跨网络远程与本地数据进行复制和同步.举例来说:在两台Linux主机之间进行数据备份和镜像.本文介 ...