在 Windows 上构建 Boost

2024-03-06

我正在尝试使用 mingw 在 Windows 7 x64 机器上构建 boost 库。当我尝试运行 b2 时

b2 --build-dir="C:\boost\build" --toolset=gcc --with-python

构建库时出现错误

Jamroot:138: in modules.load
rule boostcpp.set-version unknown in module Jamfile</C:/Users/root/Downloads/boost_1_47_0>.
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:314: in load-jamfile
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:62: in load
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:168: in project.find
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2\build-system.jam:570: in load
C:\Users\root\Downloads\boost_1_47_0\tools\build\v2/kernel\modules.jam:283: in import
C:\Users\root\Downloads\boost_1_47_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build
C:\Users\root\Downloads\boost_1_47_0\boost-build.jam:17: in module scope

我做错了什么以及如何解决?任何帮助表示赞赏

Thanks

Edit:

我想将boost库与qt sdk一起使用,qt sdk使用mingw。这就是为什么我无法使用 boost 安装程序。当然,除非我找不到解决这个问题的方法,否则我将不得不求助于使用 msvc 构建的 qt。


这里有一个tutorial http://francky.me/sferes2windows.php#Boost我曾编写过使用 MinGW 在 Windows 7 上编译 Boost 1.45.0 的文章。我将教程复制到此处,以防链接中断:

1)首先我们需要编译Boost。我们将使用 Boost 的最新版本:1.45.0(可能不是您阅读本教程时的最新版本。

1.1) 下载Boost源码:

  • http://www.boost.org/users/download/ http://www.boost.org/users/download/
  • 或直接:http://sourceforge.net/projects/boost/files/boost/1.45.0/boost_1_45_0.7z/download http://sourceforge.net/projects/boost/files/boost/1.45.0/boost_1_45_0.7z/download)

1.2)为了编译Boost,我们需要使用BJam。 BJam 的源代码包含在 boost 的源代码中。然而,我们无法使用 BJam 的二进制文件:由于以下问题,我们必须编译它:http://comments.gmane.org/gmane.comp.lib.boost.user/64146 http://comments.gmane.org/gmane.comp.lib.boost.user/64146.

要编译 BJam,请转到 Boost 的源代码,找到 build.bat(应位于 \boost_1_45_0\tools\build\v2\engine\src 中),运行 cmd,cd 到 build.bat 的文件夹并执行:build.bat gcc (source http://www.phy.bnl.gov/~bviren/dayabay/offline/external-trunk/Boost/boost_1_34_1/doc/html/jam/building.html)

编译持续时间不到 30 秒。

  • Note 1:gcc 必须位于 $PATH 中。如果你没有 gcc,你可以在http://www.mingw.org/wiki/InstallationHOWTOforMinGW http://www.mingw.org/wiki/InstallationHOWTOforMinGW。如果您不想浪费时间,请使用自动安装程序。 (安装时不要忘记选择C++编译器,默认只会安装C编译器)
  • Note 2:不要调用 cygwin 的 gcc,否则你会收到“访问被拒绝”错误,请参阅http://omgili.com/mailinglist/cygwin/cygwin/com/m2t961f6df41004191807y75bc02cfiabd7f684a8d5f8camailgmailcom.html http://omgili.com/mailinglist/cygwin/cygwin/com/m2t961f6df41004191807y75bc02cfiabd7f684a8d5f8camailgmailcom.html更多细节。最好使用 MinGW 中包含的 gcc,稍后您将在 IDE 中使用。

1.3)BJam编译完成后,我们现在可以编译Boost了。在$PATH中添加bjam.exe,运行cmd,cd \boost_1_45_0然后执行:

bjam --toolset=gcc "--prefix=C:\DestinationFolder" install

where DestinationFolder是你想要的任何文件夹路径(source http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef).

编译持续约 30 分钟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上构建 Boost 的相关文章

  • 具有不同大小结构的结构数组的 malloc()

    如果每个结构都包含一个大小不同的字符串数组 那么如何正确地 malloc 一个结构数组 因此每个结构可能有不同的大小 并且不可能 realloc 结构体数量 sizeof 结构体名称 after malloc 初始大小 sizeof 结构名
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • 如何尝试/捕获所有异常

    我正在完成由其他人启动的 UWP 应用程序 该应用程序经常崩溃 我总是陷入困境应用程序 at if global System Diagnostics Debugger IsAttached global System Diagnostic
  • (const T v) 在 C 中从来都不是必需的,对吗?

    例如 void func const int i 在这里 const是不必要的 因为所有参数都是按值传递的 包括指针 真的吗 C 中的所有参数确实都是按值传递 这意味着无论您是否包含该参数 实际参数都不会改变const or not 然而
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • C++中delete和delete[]的区别[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的删除与删除 运算符 https stackoverflow com questions 2425728 delete vs delete operators in c 我写了一个包含两个指针的
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 为什么 clang 使用 -O0 生成低效的 asm(对于这个简单的浮点和)?

    我正在 llvm clang Apple LLVM 版本 8 0 0 clang 800 0 42 1 上反汇编此代码 int main float a 0 151234 float b 0 2 float c a b printf f c
  • 默认析构函数做了多少事情

    C 类中的默认析构函数是否会自动删除代码中未显式分配的成员 例如 class C public C int arr 100 int main void C myC new C delete myC return 0 删除 myC 会自动释放
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • ASP.NET JQuery AJAX POST 返回数据,但在 401 响应内

    我的应用程序中有一个网页 需要调用我设置的 Web 服务来返回对象列表 这个调用是这样设置的 document ready function var response ajax type POST contentType applicati
  • 初始化 LPCTSTR /LPCWSTR [重复]

    这个问题在这里已经有答案了 我很难理解并使其正常工作 基本上归结为我无法成功初始化这种类型的变量 它需要有说的内容7 2E25DC9D 0 USB003 有人可以解释 展示这种类型的正确初始化和类似的值吗 我已查看此站点上的所有帮助 将项目
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • 使用 HTMLAgilityPack 从节点的子节点中选择所有

    我有以下代码用于获取 html 页面 将网址设置为绝对 然后将链接设置为 rel nofollow 并在新窗口 选项卡中打开 我的问题是关于将属性添加到 a s string url http www mysite com string s
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • 类中不允许使用不完整类型,但类模板中允许使用不完整类型

    以下为无效代码 struct foo struct bar bar x error field x has incomplete type struct bar int value 42 int main return foo x valu
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • 有条件导入范围

    使用 Google Sheets 我想在同一文档中使用带条件的 IMPORTRANGE 将数据从一张工作表导入到另一张工作表 我尝试过但没有成功 IF IMPORTRANGE https URL Inc Database B2 B300 p
  • Magento 异常错误:无效方法 Mage_Catalog_Block_Product_View_Type_Simple::displayProductStockStatus()

    我尝试在我的 magento 系统上安装主题 当我尝试打开产品页面时 它向我显示错误 出于安全原因 默认情况下禁用异常打印 请帮我 错误 Invalid method Mage Catalog Block Product View Type
  • 强制 AVX 内在函数使用 SSE 指令

    不幸的是 我有一个 AMD 打桩机 cpu 它似乎对 AVX 指令有问题 使用 256 位 AVX 寄存器进行内存写入非常慢 测得的吞吐量比之前的型号 Bulldozer 慢 5 6 倍 比两次 128 位写入慢 8 9 倍 根据我自己的经
  • 如何在eclipse中生成构造函数

    我有一个类 A 和 B M 扩展 A 现在我想使用 eclipse 的代码生成选项创建 B 的构造函数 它接受 B 的所有字段的参数和设置值 我的意思是它还应该设置从 A 继承的字段 在eclipse中是否有生成此类代码的快捷方式 在编辑器
  • (int (*)[])var1 代表什么?

    我找到了这个示例代码 我尝试用谷歌搜索什么 int var1可以代表 但我没有得到有用的结果 include
  • 将直方图的条形以标签为中心对齐

    出于布局原因 我想将直方图条放置在标签的中心 这样条的中间位于标签的顶部 library ggplot2 df lt data frame x c 0 0 1 2 2 2 ggplot df aes x geom histogram bin
  • 我如何获取字节数组的前“n”个元素并将它们直接转换为字符串?

    我有一个由 1024 个元素组成的字节数组 我想将其分解为不同的字符串私有成员 例如 前 9 个字节用于名称 接下来的 12 个字节用于用户 ID 等 无需将整个字节数组转换为字符串 然后使用子字符串方法 有什么方法可以将数组中的一系列字节
  • 暂停反应本机博览会音频?

    我运行音频没有问题 但暂停它时遇到问题 如果有人可以提供帮助那就太好了 async function playMusic const soundObject new Audio Sound console log Being hit try
  • “参数类型‘C’可能不会存在足够长的时间”,当它不需要时

    我正在用 Rust 编写非常基本的人工智能系统 其主要组成部分有 Actions 可以由库用户实现 用于特定用途 Generic Context 它被传递给所有动作 并且只需要在动作执行期间存在 ActionsContainer 它 全局
  • Java 中的基数参数是什么?它是如何工作的?

    我理解该函数的基数Integer parseInt 是将字符串转换成的基数 用基数 基数 16 转换的 11 基数 10 不应该是B代替17 下面的代码根据课本打印17 public class Test public static voi
  • iOS显示tableview标题图像(视差效果)

    我正在尝试设置一个大图像 随着表格视图进一步拉低 可以显示更多信息 我知道我没有任何意义 它更容易显示我从 netbot 记录的一个例子 http vine co v bdKrALdOheD 请让我知道正确的术语是什么 我将更新标题 Upd
  • Task.perform 期望第三个参数是不同的类型

    我正在尝试将 Elm 教程改编为我自己的小项目 但我在使用我提供的 Json Decoder 时遇到了麻烦 我的代码如下所示 type Msg RetrieveComments FetchSucceed String FetchFail H
  • Hibernate:多个结果集

    从我在 Hibernate 文档 在线中读到的内容来看 听起来 Hibernate 没有处理多个结果集的能力 我希望在依赖 Hibernate 的应用程序中进行 MySQL DB 调用 这将返回多个结果集 您使用过哪些解决方案可以与 Hib
  • Eclipse 不会将 jar 部署到 WEB-INF/lib 目录中

    为了将 JSF 与 Spring 集成 我在中添加了这些行web xml
  • 使用 prometheus 和 grafana 跟踪事件

    有一篇文章 跟踪每个版本 https codeascraft com 2010 12 08 track every release 它讲述了如何在每个代码部署的图表上显示一条垂直线 他们正在使用石墨 我想用 Prometheus 2 2 和
  • OpenCV 从 BGR 颜色转换为灰度时出错

    我正在尝试使用以下代码将图像从 BGR 转换为灰度格式 img cv2 imread path to image file gray cv2 cvtColor img cv2 COLOR BGR2GRAY 这似乎工作正常 我检查了数据类型i
  • 没有 php.ini 与brew

    我用brew安装了PHP7 它说 The php ini file can be found in usr local etc php 7 0 php ini 但我在那里什么也没看到 所以我确认了php fpm i Configuratio
  • 嵌入、嵌入高级或动态地图之间的区别

    我正在使用 Google Maps Javascript API 将地图添加到网站 现在 当谷歌改变他们的价格时 我不确定我的极限是多少 这site https cloud google com maps platform pricing
  • 如何刷新 DbContext

    我想刷新我的所有实体DbContext在没有重新创建它的情况下 我尝试了以下操作 但没有一个有意义 var context IObjectContextAdapter myDbContext ObjectContext var refres
  • 在 Windows 上构建 Boost

    我正在尝试使用 mingw 在 Windows 7 x64 机器上构建 boost 库 当我尝试运行 b2 时 b2 build dir C boost build toolset gcc with python 构建库时出现错误 Jamr