【问题标题】:Errors building boost on windows "#error "Not ARM"" & "error: No best alternative for"在 Windows“#error “Not ARM”和“错误:没有最佳选择”上构建提升的错误
【发布时间】:2013-10-09 15:58:33
【问题描述】:

我正在使用 mingw 在 Windows 上构建增强功能,并遇到诸如“#error “Not ARM””或“error: No best alternative for...”之类的错误。这些错误是我应该担心的,还是只是测试它正在构建的系统?默认输出中有很多噪音,但将输出的压缩版本放在下面。谢谢

...found 13 targets...
...updating 5 targets...
common.mkdir bbuild\boost\bin.v2\libs\context
common.mkdir bbuild\boost\bin.v2\libs\context\config
common.mkdir bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1
common.mkdir bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug
gcc.compile.c++ bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug\32.o
...updated 5 targets...
Performing configuration checks

    - 32-bit                   : yes
...found 2 targets...
...updating 1 target...
gcc.compile.c++ bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug\arm.o
E:\boost_1_54_0_win\libs\context\config\arm.cpp:12:2: error: #error "Not ARM"
 #error "Not ARM"
  ^

    "g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -g  -DBOOST_ALL_NO_LIB=1  -I"." -c -o "bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug\arm.o" "E:\boost_1_54_0_win\libs\context\config\arm.cpp"

...failed gcc.compile.c++ bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug\arm.o...
...failed updating 1 target...
    - arm                      : no
...found 2 targets...
...updating 1 target...
gcc.compile.c++ bbuild\boost\bin.v2\libs\context\config\gcc-mingw-4.8.1\debug\mips1.o
E:\boost_1_54_0_win\libs\context\config\mips1.cpp:10:2: error: #error "Not MIPS1"
 #error "Not MIPS1"
...
 #error "Not PPC"
...
 #error "Not SPARC"
...
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
...
libs\locale\src\..\build\has_icu_test.cpp:12:30: fatal error: unicode/uversion.h: No such file or directory
 #include <unicode/uversion.h>
                              ^
compilation terminated.
...
gcc.compile.c++ bbuild\boost\bin.v2\libs\locale\build\gcc-mingw-4.8.1\debug\has_icu64_obj.o
libs\locale\src\..\build\has_icu_test.cpp:12:30: fatal error: unicode/uversion.h: No such file or directory
 #include <unicode/uversion.h>
                              ^
compilation terminated.
...
g++: error: unrecognized command line option '-shared-libstdc++'
...
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
...
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
    - zlib                     : yes (cached)
    - zlib                     : yes (cached)
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
error: No best alternative for libs/coroutine/build/allocator_sources
    next alternative: required properties: <link>static <target-os>windows <threading>multi
        not matched
    next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
        not matched
    next alternative: required properties: <link>static <threading>multi
        not matched
    - zlib                     : yes (cached)
...

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - context                  : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : building
...

【问题讨论】:

  • 在进程结束时,你得到请求的库了吗?
  • @IgorR。我正在做一个完整的构建,所以我没有查看是否创建了每个库。我什至不知道应该创建所有形式的库。

标签: windows boost mingw boost-build


【解决方案1】:

这是 boost-1.54 中的一个错误。您可以打开文件 lib/coroutine/build/Jamfile.v2 并替换此行:

    explicit yield_sources ;

    explicit allocator_sources ;

或等待 boost-1.55

【讨论】:

  • 这假设要修复什么错误,如果我只使用按原样构建的内容会发生什么?谢谢
  • @user1404617 上面的补丁应该修复Coroutine库的构建(如果你需要的话)。
  • 这绝对是固定的吗?我用 Boost 1.56.0 得到 fatal error C1189: #error : "Not ARM"
  • 我在 1.61.0 上,这不起作用。 explicit yield_sources ; 行不在任何地方
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 2022-08-10
  • 2015-01-27
  • 2013-12-05
相关资源
最近更新 更多