嘿希望你们中的一些熟练的人可以帮忙..
(我已经google了很多,从其他有类似问题的人那里读了许多文章和问题,但找不到我的问题的好答案/解决方案)
通过 VS2013 x64原生工具命令 尝试构建提升线程:
b2.exe --with-thread --build-type=complete toolset=msvc-12.0 architecture=x86 address-model=64 stage
问题:如何避免失败?(来自 .. \ bin.v2 \ config.log )
...found 10 targets...
...updating 5 targets...
common.mkdir libs\config\checks\architecture\bin
common.mkdir libs\config\checks\architecture\bin\msvc-12.0
common.mkdir libs\config\checks\architecture\bin\msvc-12.0\debug
common.mkdir libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\32.obj
32.cpp
...updated 5 targets...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj
arm.cpp
libs\config\checks\architecture\arm.cpp(13) : fatal error C1189: #error : "Not ARM"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj
mips1.cpp
libs\config\checks\architecture\mips1.cpp(10) : fatal error C1189: #error : "Not MIPS1"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj
power.cpp
libs\config\checks\architecture\power.cpp(13) : fatal error C1189: #error : "Not PPC"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj
sparc.cpp
libs\config\checks\architecture\sparc.cpp(10) : fatal error C1189: #error : "Not SPARC"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\x86.obj
x86.cpp
...updated 1 target...
...found 3 targets...
...updating 3 targets...
common.mkdir bin.v2
link.touch bin.v2\test-symlink-source
link.mklink bin.v2\test-symlink
You do not have sufficient privilege to perform this operation.
if exist "bin.v2\test-symlink" del "bin.v2\test-symlink"
mklink "bin.v2\test-symlink" "test-symlink-source"
...failed link.mklink bin.v2\test-symlink...
...failed updating 1 target...
...updated 2 targets...
...found 2 targets...
...updating 2 targets...
common.mkdir bin.v2\test-junction-source
link.junction bin.v2\test-junction
Junction created for bin.v2\test-junction <<===>> bin.v2\test-junction-source
...updated 2 targets...
...found 3 targets...
...updating 3 targets...
common.mkdir bin.v2\symlink
link.touch bin.v2\test-hardlink-source
link.hardlink bin.v2\symlink\test-hardlink
Hardlink created for bin.v2\symlink\test-hardlink <<===>> bin.v2\test-hardlink-source
...updated 3 targets...
...found 1 target...
...updating 1 target...
config-cache.write bin.v2\project-cache.jam
...updated 1 target...
我发现在运行上面提到的构建命令后,失败与b2的输出相关,其中包括:
C:\boost_1_63_0>b2.exe --with-thread --build-type=complete toolset=msvc-12.0 architecture=x86 address-model=64 stage
Performing configuration checks
- 32-bit : yes
- arm : no
- mips1 : no
- power : no
- sparc : no
- x86 : yes
- symlinks supported : no
- junctions supported : yes
- hardlinks supported : yes
这是什么意思?
为什么b2产生那个输出?为什么这些组件导致日志失败?
任何帮助都将不胜感激。
PS:我知道可以找到binaris precompiled,但我想了解这个问题。
答案 0 :(得分:1)
我知道这个问题已经过时了,但它可以帮助别人。
构建系统(boost build,jam的一种变体)执行一些配置检查,以确定系统的体系结构,平台,操作系统,要使用的工具集,某些实用程序的功能等。这些测试失败,并不意味着所请求的库将无法编译,在某些情况下可能不存在某些功能,例如ICU库未找到ICU后端将无法在boost语言环境中使用。特别是你提到的一些测试:
import UIKit
func check(_ sudoku:[[Int]]) -> Bool {
var groups = Array(repeating: 0, count: 27)
for x in 0...8 {
for y in 0...8 {
groups[x] += 1 << sudoku[x][y] // Column (group 0 - 8)
groups[y + 9] += 1 << sudoku[x][y] // Row (group 9 - 17)
groups[(x + y * 9) / 9 + 18] += 1 << sudoku[x][y] // Box (group 18 - 27)
}
}
return groups.filter{ $0 != 1022 }.count == 0
}
let sudoku = [
[7, 5, 1, 8, 4, 3, 9, 2, 6],
[8, 9, 3, 6, 2, 5, 1, 7, 4],
[6, 4, 2, 1, 7, 9, 5, 8, 3],
[4, 2, 5, 3, 1, 6, 7, 9, 8],
[1, 7, 6, 9, 8, 2, 3, 4, 5],
[9, 3, 8, 7, 5, 4, 6, 1, 2],
[3, 6, 4, 2, 9, 7, 8, 5, 1],
[2, 8, 9, 5, 3, 1, 4, 6, 7],
[5, 1, 7, 4, 6, 8, 2, 3, 9]
]
if check(sudoku) {
print("Pass")
} else {
print("Fail")
}
如果要查看执行的测试结果,可以根据“b2 - ”传递选项“--debug-configuration”和“-dn”(其中n是调试级别)。帮助“:
arm : no
===> An ARM processor was not detected.
mips1 : no
===> A MIPS processor was not detected.
symlinks supported : no
===> Those are supported in Windows starting with Windows Vista, but admin privileges are required.
您可以检查“bin.v2 \ config.log”以查看执行的测试及其结果。要进行更深入的检查,您需要在boost构建系统中学习jam文件的语法。
可以在此处找到从源(boost 1_65_1)构建的官方帮助:Build Binaries From Source。
可以在此处找到boost构建系统的官方帮助:Boost.Build。