U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

在 Windows 下通过 CMake 使用 Boost 库

来源:http://www.tudoupe.com时间:2022-05-17

有关在 Windows 下使用 BOST 的有好几种出版物, 但其中大多是关于您如何从视觉工作室界面直接操作。 这就是 CMake 项目如何使用 BOST 的 。

这项工作中使用的cmake版本为3.23.01。

下载 Boost

当前启动的下载地址是 : Boost Downloads 最新版本为1.79。 照片来自Flickr用户pic.根据正式介绍的《诱导》,7z 文件比较。 Zip 将是大小的一半,您可以自由地使用它7.7z格式。

博斯特图书馆分为两部分。一个只为头目的,包括头条新闻另一个必须提前建立。推进系统,推进系统等等。汇编分为两类:动态图书馆和静态图书馆。

Windows 中的动态和静态图书馆

让我们首先简要地概述动态和静态银行。

动态库通常只查看 DLL 文件, 它实际上是一个 Lib 文件, 包含.. 两部分, dll. Lib 描述动态库的内容, 当应用程序连接时使用它. dll 是程序运行时要使用的实际库文件 。

连接时, 静态库的内容会与程序连接。 不需要额外文件支持操作。 我将从“ 启动” 汇编开始, 成为一个动态或静态库 。

编译成静态库

Windows上最基本的汇编程序与Linux兼容。

C: 启动程序将用两个文件夹来构建, 包括和 lib 。

该目录包括以下内容:

该目录的内容如下:

每份文件都包含前缀lib, 即静态图书馆。 每个图书馆由四份文件组成, 代表不同的编译选项 :

  • vc142 编译器的名称和版本号;
  • mt 支持多线程;
  • gd 调试版本; 没有发布版本;
  • (a) x32/x64 64-位版本或32位数版本;
  • 推进版本 1_79;

做一个项目测试。

抱歉, CMakeLists. txt 看起来像这个 :

Regex.cpp, 对不起, 内容如下:

编译并执行

编译动态库

由于我的项目需要64位多线版本,因此采用了下列汇编订单。

注意里面的选项:

  • -Layout 写信来定义文件名结构 。版本、标记和系统支持有三个选项。版本的静态库是默认使用默认值编译的 。制作了最全面的档案名称信息。编译者的名称和版本号不包含在标签文件名中 。这是案件vc142。又不是说它没有Boost版本; 它没有Boost版本。本例中为1_79

库名是系统文件最小的名称 。

  • 可以是释放,也可以是调试。这既可以是释放,也可以是调试。本例中,因为布局=系统,如果发布版本和调试版本同时编译,文件名字相同,因此,只有一种方法可以汇编。否则会报错。还有其他选择。我看到了B2援助。
  • j 有8条线索可供汇编。
  • 地址模型不是一个语音模型;它产生64位元版本。
  • 动态库链接=共享。

看看编译后的结果

每个图书馆由两个文件组成,其中一个需要连接,另一个需要运行。

在文件名前没有 lib 前缀, 因为它是一个动态库 。

编译我们的例子:

Regex 成功创建了!

蛋糕如何运作?

蛋糕如何决定使用动态或静态图书馆?方法有很多,可以整体设置,图书馆也可以用来建立图书馆。当我从Linux转到Windows时当我们开始构建连接时, 它是不正确的: pub_ system. 找不到Lib 。我们很久没制造助推器了 Lib也被发现了Boost_log-vc142-mt-x64-1-79.Lib也报告未找到。并且他们都用同样的命令加入到项目中。

crke 指定用于连接的库 :

  • 找到哪个就用哪个

在没有其他选择的情况下,这是最容易理解的,尽可能与项目中的其他环境相匹配,并找到任何无障碍环境。

至于如何找,许多熟料变体略有不同。尽管如此,C.B.C.发挥了重要的作用然而,并非所有蛋糕都支持这种方法。如果你的蛋糕不支持这个方法,此目录不是通过添加到 b2 -- no- cmake- config 生成的 。

  • CMakeLists. txt 配置

创建一个动态库, 可以加入 CMakeLists 。

您可以选择只提供一个库,例如,日志。

CMakeLists提供了广泛的变量。这里列几个例子,值得一提的是,使用 Find_ package 之前必须配置这些选项 。然后,蛋糕将使用这些参数来找到合适的版本。可在促进官员网络上获得更多信息。 Configuring and building the library - 1.79.0 (boost.org)

  • 在源代码中设置

这种方式学非常麻烦,只能作为最后一种选择。我不是要引入这种方法来允许你使用它,而是要找出是否有其他人这样做过。

在代码中插入以下语句,将其设置在源代码中:

当然,你可以只拥有一个图书馆。

与运行时间- 链接的区别

强调一下,当我们提到,“泡沫是一个动态的或静态的图书馆。”还有一种想法很容易被误解。运行时连接,它指助推器的组合。编译器使用的库,是否应该将它汇编到“促进”库中。如果包含运行时库,也就是静态方式,对不起,但我不知道 我在说什么。这不是生命的问题,它不是一个生命的问题, 它不是一个生命的问题,它不是一个生命的问题, 它不是一个生命的问题,它不是一个生命的问题,它不是一个生命的问题, 它不是一个生命的问题,它不是一个生命的问题, 它不是一个生命的问题,它不是一个生命的问题,它不是一个生命的问题,它不是一个生命的问题,它不是一个生命的问题,它是一个生命的问题,它是一个生命的问题,它是一个生命的问题,它是一个生命的问题,它不需要其他水库来支撑它们,如果它们不运行,动态运行时方式,建成的助推库通常需要 MSVCRTXX.DLL 和 MSVCPXX. DLL 文件。 只能执行 DLL 文件 。--runtime- link 的 VC 是 b2 的编译器选项 。Multithreaded或者Multithreaded DLL

考虑到我们汇编了“促进”一词,而且我们很少(如果有的话)在使用“促进”一词时有一个运行中的时间库,因此这个项目被默认,细节留待汇编者处理。

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息