[转]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 ...
随机推荐
- 云原生周刊:Gateway API 1.0.0 发布 | 2023.11.6
开源项目推荐 Kueue Kueue 是一套用于作业队列的 API 和控制器.它是作业级管理器,可决定何时允许作业启动(如创建 pod),何时停止作业(如删除活动 pod). Reloader 一个 ...
- 云原生周刊 | 使用 K8s 可视化工具集来调试业务 | 2023-1-30
开源项目推荐 k8z k8z 意在 K8s 业务层面,提供一个方便好用的 K8s 集群可视化工具集.目前包含以下功能: 终端:连接到集群任意 Pod 容器上,方便调试 Tcpdump:对集群内容器进行 ...
- Meteor:全栈JavaScript开发框架的先驱
Meteor 是一个功能强大且易用的全栈 JavaScript 框架,它简化了现代 Web 应用的开发流程,从数据库到用户界面都可以通过一套统一的技术栈来实现.无论你是构建实时应用还是想要一个快速的原 ...
- Ubuntu 22.04 和 Windows 时间冲突解决方案
默认情况下,Ubuntu(和大多数其他 Linux 发行版)假设硬件时钟设置为协调世界时间(UTC + 0),而 Windows 则假设硬件时钟设置为当地时间,这导致 Ubuntu 快 8 小时. 这 ...
- GaussDB: db2->gaussdb 函数转换
一.db2->gaussdb函数转换 问题描述:使用GaussDB替代DB2的方案,使用起来还是有些差别,做一下函数的映射转换. DB2写法 GaussDB改写语法 日期函数 days(OU ...
- 每日学学Java开发规范,编程规约(附阿里巴巴Java开发手册(终极版))
前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...
- php实现关键词过滤
在php中,可以通过trie_filter扩展实现关键词的过滤,具体操作如下 1.安装libdatrie的依赖库 libiconv wget https://ftp.gnu.org/pub/gnu/l ...
- Clickhouse入门及实践
ClickHouse安装 采用doker安装测试: 拉取服务端 docker pull yandex/clickhouse-server 拉取客户端 docker pull yandex/clickh ...
- 使用ssh 通过ProxyCommand:利用跳板机让不在同一局域网的机器ssh直连
打开~/.ssh/config文件,如果没有则新建一个 输入以下内容并保存: Host dxx.sxx-bastion # jumpserver name hostname 54.65.xx.2xx ...
- Air780E篇:采集温湿度传感器数据,并网页查看
今天我们学习合宙低功耗4G模组Air780E篇:采集温湿度传感器数据并实现网页查看,以下进入正文. 一.硬件装备 1.1 硬件连接 使用跳线帽将IO_SEL连接3.3V,给引脚供3.3V的电.dh ...