繁体   English   中英

如何在Windows中使用MASM构建Boost(来自github)?

[英]How to build Boost (from github) with MASM in Windows?

去年,可以使用以下步骤在Windows中构建Boost(来自模块化boost git存储库)。

差不多一年后,我使用了这个食谱:

  1. 使用mingw-get-setup安装MinGW(32位)和Msys(bash等)
  2. 安装Windows驱动程序工具包(对于W7,我使用了WDK 7- GRMWDK_EN_7600_1.ISO ),该工具包提供了MASM 8(根据这篇文章 ,boost> 1.51时需要)
    -下载ISO映像并使用WinRAR提取文件对我有用
    -安装程序建议不要安装DSF,因此请跳过
    -将ML64.exe和ML.exe的目录添加到路径中(两者均为必需)
    C:\\Windows\\WinDDK\\7600.16385.1\\bin\\x86\\amd64; C:\\Windows\\WinDDK\\7600.16385.1\\bin\\x86
  3. 同时安装64/32位编译器(我使用了TDM gcc 5.1.0-2 ),并且
    将其bin/目录添加到Windows路径
  4. 以管理员身份打开cmd.exe并启动bash
  5. boost的父目录中,运行
    git clone --recursive https://github.com/boostorg/boost.git boost > clone.log
  6. 退出bash,转到目录boost并运行:
    bootstrap gcc
  7. project-config.jamusing msvc ;更改using msvc ; using gcc ;
  8. 跑:
    b2 headers (现在需要进行符号链接)
    b2 -a -d+2 -q --build-type=complete --build-dir=build toolset=gcc link=shared runtime-link=shared threading=multi

这些对b2选项可以与早期版本的boost一起使用,但是现在我只能使用不带选项的b2进行编译。 完整的命令行返回以下错误:
undefined reference to __imp_make_fcontext
undefined reference to __imp_jump_fcontext

我找不到描述这些错误的其他帖子甚至网页。 有谁知道Windows中仍然可以使用b2选项从GitHub存储库获得最新提升的方法吗?

编辑

使用b2 -a -d+2 -q --build-dir=build toolset=gcc可以工作。 显然--build-type=complete选项是上面第一个破坏编译的选项。

标志link=sharedruntime-link=sharedthreading=multi也会导致b2停止。

有没有人知道如何解决这个问题? MinGW是否有适用于当前存储库的补丁?

最好的选择是切换到MSYS2,这是MSYS的新版本和改进版本。 我在MSYS2方面有很好的经验,而关于MSYS或Cygwin则不能这么说(就我而言,这是大量使用boost和c ++ 11构建项目)。

您可以在这里阅读一些比较。

也从这里的答案中获取:

虽然MSYS还没死,但我也想说它也不是很健康。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM