如何在 1.64 位中构建 Boost 64
How to build Boost 1.64 in 64 bits?
我运行的是Windows 10,我的笔记本电脑上安装了Visual Studio 2017社区版。我有一些较旧的程序,在VS 2015中编译得很好,Boost 1.62.0在64位。由于一些非常奇怪的原因,我找不到一种方法来编译使用VS 2017使用此命令行的Boost 1.64.0(此处为文件系统和计时器(中的任何库:
b2 --build-dir=..\build_here --with-filesystem --with-timer --address-model=64
命令将执行并构建库,但为 32 位!!
可能出现什么问题?
问候胡安·登特
更新我在这里给出的答案。 Visual Studio 2017
是一个新的工具集,所以只需将toolset=msvc-14.0
(用于Visual Studio 2015
(替换为toolset=msvc-14.1
即:
在 Visual Studio 工具命令提示符下:
cd boost_1_64_0
call bootstrap.bat
对于静态库(推荐用于 Windows(:
b2 -j8 toolset=msvc-14.1 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=complete stage
注意:线程必须使用动态链接构建,请参阅:https://studiofreya.com/2015/05/20/the-simplest-way-of-building-boost-1-58-for-32-bit-and-64-bit-architectures-with-visual-studio/
在动态库中构建线程:
b2 -j8 toolset=msvc-14.1 address-model=64 architecture=x86 link=shared threading=multi runtime-link=shared --with-thread --build-type=minimal stage
注:
Visual Studio 2017
的正确b2
工具集msvc-14.1
不是msvc-15.0
和
Visual Studio 2019
b2
工具集是msvc-14.2
。
如果有疑问(并且您只安装了一个版本的Visual Studio(,只需使用toolset=msvc
。
为什么,但是 Boost 是使用 32 位编译的,与 VS 2017 的本机 x64 提示符相同。
这个循序渐进的方法对我有用:
- 打开 x64 本机工具命令提示符 VS 2017;
将 boost_1_66_0\project-config.jam 更改为:
import option ; //Check your compiler path here: using msvc : 14.1 : "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/bin/Hostx64/x64/cl.exe"; using mpi ; option.set keep-going : false ;
跑:
b2.exe --toolset=msvc-14.1 --address-model=64 --architecture=x86 --runtime-link=static,shared --link=static threading=multi --build-dir=buildx64 install --prefix="C:Program FilesBoost" -j4
或
bjam.exe toolset=msvc-14.1 address-model=64 architecture=x86 runtime-link=static,shared link=static threading=multi build-dir=buildx64 install prefix="C:Program FilesBoost" -j4
在编译开始时,您应该有一个 64 位 = yes。
尝试指定 architecture=ia64
例如
b2.exe --toolset=msvc-14.1 --address-model=64 --architecture=ia64 --runtime-link=static,shared --link=static threading=multi --build-dir=buildx64 install --prefix="C:Program FilesBoost" -j4
考虑通过输入您需要的每个 boost 版本目录并在那里运行以下命令来节省大量时间:
bootstrap && b2 -a install
通过这种方式,C:\Boost 目录使用构建的库构建选项的所有可能组合(包括 x64(创建。您可能需要打开此目录压缩。
- 如何使用VS 2015构建Boost 1.44
- 使用 python3 为 msvc 构建 boost python - 链接器错误
- 无法构建Boost Python库(致命错误:PyConfig.H:没有此类文件或目录)
- 无法在支持 bz2 的 Linux 上构建 boost
- 构建 boost 1.61 iostream 时出错 - 使用 -fPIC 重新编译
- 如何在 1.64 位中构建 Boost 64
- 如何构建Boost Fiber库以进行分段堆栈支持
- 使用-D_GLIBCXX_USE_CXX11_ABI构建Boost = 0
- 我如何在不启用例外的情况下构建Boost 1.70.0
- 从文件(邻接列表)构建Boost图
- 如何使用BOOST_THREAD_WIN32-MT-S(与mingw交叉键)来构建Boost
- CMake - 如何在使用 FetchContent 下载后构建 Boost
- 如何为android构建boost::locale
- 无法为 Visual Studio 2017 构建 Boost 1.68
- 在 Anaconda 中构建 Boost Extension with distutils 和 Microsoft Vi
- 使用Visual Studio 2012针对Windows XP构建Boost 1.52库
- 使用HDF5构建Boost Python
- 在Visual Studio 2013 XP Toolset上构建Boost
- 如何在一台计算机上同时构建Boost的VC9和VC10版本
- 如何构建boost序列化库