【问题标题】:'stage' parameter for building the boost: "don't know how to make <e>stage"'stage' 用于构建提升的参数:“不知道如何制作 <e>stage”
【发布时间】:2013-09-10 16:44:37
【问题描述】:

我正在尝试在 Windows 7(版本 6.1.7601)上安装 boost v.1.54。安装有 mingw、gcc 和 g++ 编译器的 cygwin。

我需要使用 'stage' 参数来构建提升;但是它会产生以下错误:

C:\boost\tools\build\v2>b2 --prefix="C:\boost_build" toolset=gcc  --build type=complete gcc stage
notice: could not find main target stage
notice: assuming it is a name of file to create.
don't know how to make <e>stage
...found 1 target...
...can't find 1 target...

C:\boost\tools\build\v2>

到目前为止,我没有收到来自 boost-build 社区的回复。如果您能指出正确的方向,我将不胜感激。


其他 cmets:

  • 我使用的是 windows 命令提示符,gcc/g++ 编译器在 路径和之前的测试。
  • 我在构建命令之前运行了引导程序。
  • 我正在运行“boost\tools\build\v2”中的命令,因为它是 已在指南中说明。
  • 没有“stage”选项参数的构建过程是 成功。

【问题讨论】:

  • 您使用的是 cygwin shell 还是 windows 提示符?
  • 您记得先运行bootstrap 吗?以下来自官方Boost Windows build guide。打开命令提示符并将当前目录更改为 Boost 根目录。然后,运行bootstrap,然后运行.\b2。第一个准备 Boost.Build 系统以供使用,第二个调用 Boost.Build 来构建单独编译的 Boost 库。
  • cygwin 理解“C:\”吗?也许是“/cygdrive/c/”
  • 我使用的是 windows 命令提示符,并且 gcc/g++ 编译器在路径中并且之前经过测试。 @doctorlove
  • 我在构建命令@Stig-Magnus-Halvorsen 之前运行了引导程序

标签: c++ windows boost


【解决方案1】:

我相信这个问题的正确解决方案是从 C:\boost 文件夹而不是 C:\boost\tools\build\v2 文件夹运行您的命令,在 --build-type 中使用破折号。希望对您有所帮助。

【讨论】:

    【解决方案2】:
    1. 正如@Stigmha 经常指出的那样,我们可以通过使用 MSVC 编译的二进制版本来避免构建 boost。
    2. 来自 Boost.Build 社区的回应:
    1. 如果目标是构建所有 boost 工具,那么您必须从 boost 构建根目录运行构建命令。
    2. --如果您正在执行 Boost 的“阶段”构建,则前缀没有意义,因为它仅在执行“安装”构建时才重要。
    3. --build-type 在中间用破折号拼写。

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多