BOOST库配置到VS2022详细操作步骤和可能出现的错误解决方法

文章目录

  • BOOST库配置
  • 上述的细节操作
  • 出现的错误
    • 错误1
    • 错误2
  • 其余内容

BOOST库配置

配置过程见BOOST库配置到VS2022(保姆级教程)主要借鉴
C/C++ Windows环境下 boost 安装使用教程【学习笔记】
Boost库各个版本下载地址
在这里插入图片描述

上述的细节操作

  • 第一点
    在这里插入图片描述
    我的操作步骤是
    在这里插入图片描述

  • 第二点
    在这里插入图片描述
    我自己的操作是

在这里插入图片描述在这里插入图片描述

我的MSVC版本号:D:\download software\visual studio2022\VS\VC\Tools\MSVC\14.41.34120

所以我的MSVC版本是14.4

  • 第三点

在这里插入图片描述

1、打开vs命令行窗口:搜索栏输入Developer Command Prompt

在这里插入图片描述

2、进入bat.exe文件夹,我的是D:\download software\boost_1_81_0\boost_1_81_0

在这里插入图片描述

在vs命令行窗口输入

  cd D:\download software\boost_1_81_0\boost_1_81_0

在这里插入图片描述

创建一个存储include和lib空文件夹,我的文件夹位置是D:\download software\boost_MSVC,名称是boost_MSVC,根据自己的版本进行修改 ,我的msvc版本是14.4根据自己的版本进行修改

在这里插入图片描述

在vs命令行输入

b2 install --toolset=msvc-14.4 --build-type=complete --prefix="D:\download software\boost_MSVC" link=shared runtime-link=static threading=multi debug release --allow-shared-static address-model=64  architecture=x86

在这里插入图片描述

安装成功后显示:
在这里插入图片描述
boost_MSVC中出现include和lib文件
在这里插入图片描述

出现的错误

错误1

使用b2.exe install --toolset=msvc-14.4 --build-type=complete --prefix=“D:\download software\boost_MSVC” link=shared runtime-link=static threading=multi debug release --allow-shared-static出现下面的错误

error: Name clash for '<pD:\download software\boost_MSVC\lib>boost_container-vc144-mt-gd-1_81.lib'
error:
error: Tried to build the target twice, with property sets having
error: these incompatible properties:
error:
error:     -  <address-model>32
error:     -  <address-model>64
error:
error: Please make sure to have consistent requirements for these
error: properties everywhere in your project, especially for install
error: targets.

您遇到的错误和警告主要有两个方面:配置不一致和库名称冲突。让我们逐一分析并提供解决方法。

  • 警告分析
  1. link=shared, runtime-link=static is disabled
    • 这个警告表明您指定的 link=sharedruntime-link=static 的配置在默认情况下被禁用了,因为这可能导致不安全的使用。要启用它,您需要在命令中添加 --allow-shared-static 参数。
  • 错误分析
  1. Name clash for '<pD:\download software\boost_MSVC\lib>boost_container-vc144-mt-gd-1_81.lib'

    • 这个错误表明您尝试构建目标两次,并且这些目标的属性不一致。可能是在不同的构建过程中尝试生成相同名称的库文件(例如,一个为 32 位,另一个为 64 位)。
  2. <address-model>32<address-model>64

    • 这个错误表示在构建中有两种不同的地址模型(32 位和 64 位),这导致了名称冲突。您需要确保所有的构建配置(例如,调试和发布)使用相同的地址模型。
  • 解决方法
  1. 启用共享和静态链接
    b2 命令中添加 --allow-shared-static 参数:

    D:\download software\boost_1_81_0\boost_1_81_0\b2.exe install --toolset=msvc-14.3 --build-type=complete --prefix="D:\download software\boost_MSVC" link=shared runtime-link=static threading=multi debug release --allow-shared-static
    
  2. 清理之前的构建
    在执行新的构建之前,确保清理之前的构建文件,以避免名称冲突。可以使用以下命令清理:

    D:\download software\boost_1_81_0\boost_1_81_0\b2.exe clean
    
  3. 确保一致的地址模型
    确保您在同一命令中只使用一个地址模型。例如,如果您希望构建 64 位版本,请确保没有其他构建尝试使用 32 位:

    • 如果需要构建 64 位版本,请确保 Visual Studio 的项目配置为 64 位,并且命令中不涉及 32 位库。
  4. 检查安装目录
    确保 D:\download software\boost_MSVC 目录是干净的,避免之前的构建遗留文件导致冲突。

  5. 总结
    通过启用 --allow-shared-static,清理之前的构建并确保一致的地址模型,您应该能够解决这些问题并成功构建 Boost 库。如果问题仍然存在,请仔细检查构建命令和相关配置。

错误2

使用b2.exe install --toolset=msvc-14.4 --build-type=complete --prefix=“D:\download software\boost_MSVC” link=shared runtime-link=static threading=multi debug release --allow-shared-static出现下面的错误

error:
error: Tried to build the target twice, with property sets having
error: these incompatible properties:
error:
error:     -  <address-model>32
error:     -  <address-model>64
error:
error: Please make sure to have consistent requirements for these
error: properties everywhere in your project, especially for install
error: targets.

您遇到的错误是由于在构建 Boost 库时同时尝试生成相同名称的库文件(boost_container-vc144-mt-sgd-1_81.lib),但使用了不同的地址模型(32 位和 64 位)。这会导致名称冲突,因为同一目录中无法同时存在同名的库文件。

  • 错误分析
  1. 名称冲突

    • 错误信息指示在构建过程中有两个不同的构建尝试生成相同名称的库文件,并且它们的地址模型不同(32 位和 64 位)。
  2. 不一致的构建配置

    • 可能是在不同的构建过程中,您使用了不同的配置(例如,有些配置为 32 位,有些为 64 位),这导致了冲突。
  • 解决方法
  1. 确保使用一致的地址模型

    • 确认您只在构建命令中使用一个地址模型。如果您希望构建 64 位版本,请在命令中指定 address-model=64
      b2 install --toolset=msvc-14.4 --build-type=complete --prefix="D:\download software\boost_MSVC" link=shared runtime-link=static threading=multi debug release --allow-shared-static address-model=64
      
  2. 清理之前的构建

    • 在运行新命令之前,使用以下命令清理之前的构建结果:
      D:\download software\boost_1_81_0\boost_1_81_0\b2.exe clean
      
  3. 检查安装目录

    • 确保 D:\download software\boost_MSVC\lib 目录中没有旧的库文件。手动删除或使用命令:
      rmdir /s /q "D:\download software\boost_MSVC\lib"
      
    • 这样可以确保在下次构建时没有旧文件造成冲突。
  4. 重新构建

    • 在确认清理后,重新运行 b2 命令,确保所有构建配置一致:
      D:\download software\boost_1_81_0\boost_1_81_0\b2.exe install --toolset=msvc-14.4 --build-type=complete --prefix="D:\download software\boost_MSVC" link=shared runtime-link=static threading=multi debug release --allow-shared-static address-model=64
      

其余内容

h、cpp和hpp头文件之间使用区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css实现边框双色凹凸半圆

整体效果如下图&#xff1a; 结构代码&#xff1a; <div classline-outside-wrap><div classwrap><img src../img/avatar2x.png/><div classcontent-wrap></div></div></div> 内凹框实现&#xff1a; .content-wrap{width:100%;he…

字符串统计(Python)

接收键盘任意录入&#xff0c;分别统计大小写字母、数字及其它字符数量&#xff0c;打印输出。 (笔记模板由python脚本于2024年11月02日 08:23:31创建&#xff0c;本篇笔记适合熟悉python字符串并懂得基本编程技法的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xf…

[代码随想录打卡]Day2:209.长度最小的子数组 59.螺旋矩阵II 区间和 开发商购买土地 总结

双指针&#xff1a;快慢指针、对撞指针、滑动窗口。相关博客&#xff1a;双指针算法详解&#xff08;快慢指针、对撞指针、滑动窗口&#xff09; 209.长度最小的子数组 题目&#xff1a;给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于…

Vue3的router和Vuex的学习笔记整理

一、路由的基本搭建 1、安装 npm install vue-router --registryhttps://registry.npmmirror.com 2、配置路由模块 第一步&#xff1a;src/router/index.js创建文件 第二步&#xff1a;在src/view下面创建两个vue文件&#xff0c;一个叫Home.vue和About.vue 第三步&#x…

探索React源码:React Diff

本篇文章我们来了解一下Diff算法的实现过程。 相关概念 React中的各种节点 假设当前存在一个DOM节点&#xff0c;触发了一次更新&#xff0c;那么在协调的过程中&#xff0c;会有四种节点和该节点相关联&#xff1a; 该DOM节点本身。 workInProgress fiber&#xff0c;更新过程…

安装fpm,解决*.deb=> *.rpm

要从生成 .deb 包转换为 .rpm 包&#xff0c;可以按照以下步骤修改打包脚本 1. 使用 fpm 工具 fpm 是一个强大的跨平台打包工具&#xff0c;可以将 .deb 包重新打包成 .rpm&#xff0c;也可以直接从源文件打包成 .rpm。 安装 fpm sudo apt-get install ruby-dev sudo gem in…

【stm32】RTC时钟的介绍与使用

RTC时钟的介绍与使用 一、时间戳1、Unix时间戳2、UTC/GMT3、时间戳转换 二、BKP简介及代码编写1、BKP简介2、BKP基本结构3、BKP库函数介绍&#xff1a;4、程序编写&#xff1a; 三、RTC简介及代码编写1、RTC简介2、RTC框图2、RTC基本结构3、RTC相关库函数介绍&#xff1a;4、程…

深入理解Transformer中的位置编码

1 位置编码的作用 由于注意力的作用机制&#xff0c;不论输入序列的顺序如何&#xff0c;输出结果都是一样的。 也就是丢失了位置信息。 但是对于语言模型&#xff0c; 我们都知道顺序是很重要的&#xff0c; 所以需要对输入序列额外注入位置信息。 2 位置编码方式 Transfor…

使用PostgreSQL进行高效数据管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用PostgreSQL进行高效数据管理 PostgreSQL简介 安装PostgreSQL 在Ubuntu上安装PostgreSQL 在CentOS上安装PostgreSQL 在macOS上…

Git - 两种方式撤销已提交到远端仓库的记录并删除提交记录

文章目录 命令行方式附 命令行方式 确定要撤销的提交记录 首先&#xff0c;使用以下命令查看提交历史&#xff1a; git log找到想撤销的提交记录的哈希值&#xff08;SHA&#xff09; &#xff0c;比如9c9c98d6f7f28c41d971f8efd51ed31f9720792c 撤销提交记录 根据需求选择以下…

vscode markdown-image 图片粘贴自动上传到本地目录设置

.vscode/settings.json文件内容 {"markdown-image.base.fileNameFormat": "${hash}-${YY}${MM}${DD}-${HH}${mm}${ss}","markdown-image.local.path": "./images","markdown-image.base.uploadMethod": "Local",…

Linux入门-基础指令和权限

1.压缩打包 1.1压缩是什么 压缩是通过特定的算法&#xff0c;使文件减小体积&#xff0c;从而达到节省空间的目的。 1.2.为什么要压缩 a.压缩将文件大小减小&#xff0c;在本地可能不太明显&#xff0c;但是在网络传输中&#xff0c;减小了网络传输的成本。 b.将多个文件压…

大数据新视界 -- 大数据大厂之 Impala 性能优化:解锁大数据分析的速度密码(上)(1/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

docker pull 拉取镜像失败,使用Docker离线包

1、登录并注册Github&#xff0c;然后在Github中搜索并打开“wukongdaily/DockerTarBuilder” 项目&#xff0c;在该项目主页点击“Fork”。 然后点 “Create Fork”&#xff0c;将项目创建到自己的Github主页。 2、接着在自己创建过来的这个项目中点击“Actions” 3、然后…

HTTP和HTTPS到底啥区别?不只是差一个“S”这么简单.....

在信息时代&#xff0c;互联网已经成为人们生活中不可或缺的一部分。我们每天浏览网页、发送邮件、进行网络购物&#xff0c;都离不开网络数据的传输。 而保障这些数据在传输过程中的安全&#xff0c;就显得尤为重要。 HTTP和HTTPS作为两种应用层协议&#xff0c;在网络数据传…

微服务设计模式 - 发布订阅模式(Publisher Subscriber Pattern)

微服务设计模式 - 发布订阅模式&#xff08;Publisher Subscriber Pattern&#xff09; 定义 发布-订阅模式&#xff08;Publisher-Subscriber Pattern&#xff09;是一种常见的设计模式&#xff0c;被广泛用于云计算和分布式系统中&#xff0c;以实现松散耦合的组件间通信。发…

0xGame 2024 [Week 4] Jenkins

1.前言 由于好久没做web题了&#xff0c;所以今天来尝试来做一波web题&#xff0c;仅供刷题记录。 2.题目 这个给的提示对于小白来说实在是友好的过劲。 3.分析 上网搜到一个关于Jenkins的历史漏洞&#xff0c;下面链接可供参考 https://blog.csdn.net/2301_80127209/arti…

yolov8训练及测试(ubuntu18.04、tensorrt、ros)

1 数据集制作 1.1标注数据 Linux/Ubuntu/Mac 至少需要 Python 2.6 &#xff08;推荐使用 Python 3 或更高版本 及 PyQt5&#xff09; Ubuntu Linux (Python 3 Qt5) git clone https://gitcode.com/gh_mirrors/la/labelImg.git sudo apt-get install pyqt5-dev-tools cd lab…

Nginx 反向代理(解决跨域)

文章目录 前言一、同源策略二、跨域是什么&#xff1f;三、Nginx解决跨域1.前端示例代码2.说明 四、nginx反向代理配置五、启动nginx六、最终效果总结 前言 Nginx反向代理解决跨域 一、同源策略 定义&#xff1a;同源策略&#xff08;Same-Origin Policy&#xff09;是指浏览…

ssm《数据库系统原理》课程平台的设计与实现+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码看文章最下面 需要定制看文章最下面 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容…