如何在Visual Studio 2010中使用Boost
问题的原因:
问题是用户想要在Visual Studio 2010中使用Boost,但遇到了一些困难。
解决方法:
用户可以尝试使用"-j%NUMBER_OF_PROCESSORS%"作为参数,这将使用所有的处理器核心。对于四核处理器来说,这样做会使编译速度非常快。
对于VS2015,可以尝试以下命令来解决问题:
b2 -j%NUMBER_OF_PROCESSORS% toolset=msvc-14.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
对于powershell,可以使用以下命令来解决问题:
-j"$env:NUMBER_OF_PROCESSORS"
如何在Visual Studio 2010中使用Boost
如果你想在Visual Studio 2010中使用Boost库,下面是一份简化的指南,同时还包括了构建64位库的步骤。
只有在你需要使用Boost网站指南第3节中提到的库时才需要这样做(例如,使用Boost.Filesystem需要进行编译)。如果你不使用这些库,只需解压缩即可使用。
构建32位库:
1. 解压缩Boost到一个新的目录。
2. 打开32位MSVC命令提示符,并转到解压缩的Boost目录。
3. 运行:bootstrap
4. 运行:b2 toolset=msvc-10.0 --build-type=complete --libdir=C:\Boost\lib\i386 install
- 对于Visual Studio 2012,使用toolset=msvc-11.0
- 对于Visual Studio 2017,使用toolset=msvc-14.1
5. 将C:\Boost\include\boost-(version)添加到你的包含路径中。
6. 将C:\Boost\lib\i386添加到你的库路径中。
构建64位库:
1. 解压缩Boost到一个新的目录。
2. 打开64位MSVC命令提示符,并转到解压缩的Boost目录。
3. 运行:bootstrap
4. 运行:b2 toolset=msvc-10.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
- 对于Visual Studio 2012,使用toolset=msvc-11.0
5. 将C:\Boost\include\boost-(version)添加到你的包含路径中。
6. 将C:\Boost\lib\x64添加到你的库路径中。
如果你不想自己构建库文件,你可以从sourceforge下载预编译的二进制文件。在每个Boost版本中,都有适用于每个Visual Studio版本(32位和64位)的安装程序。
为什么在进行64位构建时使用architecture=x86而不是architecture=x64?编辑:刚刚发现这个问题,你不能将其切换为64位...
嗨,我访问了你提供的链接,但是对于v1.4.7版本,我发现了太多文件,我应该使用哪一个?如果有一个适用于所有Boost函数用法的单个文件(库/动态链接库)不是更好吗?
请尝试sourceforge.net/projects/boost/files/boost-binaries/old-monolithic/,你应该能够找到其中一个版本为1.47.0的安装程序,具体取决于你是否需要32位或64位版本。在里面你会找到很多DLL文件,这就是Boost的工作原理。但是,只要你将Visual Studio项目指向正确的目录,里面有多少个DLL文件并不重要,因为它会自动选择所需的正确文件。
如何在Visual Studio 2010中使用Boost
在Stack Overflow上的Nate的回答已经很好了,但我将进一步扩展它,特别是针对Visual Studio 2010,并包含有关编译各种可选组件所需的外部库的信息。
如果您使用的是仅有头文件的库,那么您需要做的就是解压缩Boost下载并设置环境变量。下面的说明仅适用于Visual Studio,而不是整个系统。请注意,您只需要执行一次。
1. 将最新版本的Boost(写作时为1.47.0)解压缩到您选择的目录中(例如C:\boost_1_47_0)。
2. 在Visual Studio中创建一个新的空项目。
3. 打开Property Manager并展开所选平台的其中一个配置。
4. 选择并右击Microsoft.Cpp.
5. 在左侧选择VC++ Directories。
6. 编辑Include Directories部分,将路径添加到Boost源文件的路径中。
7. 如果需要,重复第3-6步以设置不同平台的环境变量。
如果您想要使用需要构建的Boost的部分,但不需要外部依赖项的功能,则构建过程相当简单。
1. 将最新版本的Boost(写作时为1.47.0)解压缩到您选择的目录中(例如C:\boost_1_47_0)。
2. 启动所选平台的Visual Studio命令提示符,并导航到Boost所在的位置。
3. 运行bootstrap.bat来构建b2.exe(以前命名为bjam)。
4. 运行b2:
- Win32: b2 --toolset=msvc-10.0 --build-type=complete stage;
- x64: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage。
进行一次散步/看一两部电影/...。
8. 根据上述说明执行第2-6步以设置环境变量。
9. 编辑Library Directories部分,将路径添加到Boost库的输出路径中(上述示例和说明的默认路径为C:\boost_1_47_0\stage\lib)。如果希望同时使用x86和x64版本,请先重命名和移动目录(例如
10. 如果需要,重复第2-6步以设置不同平台的环境变量。
如果您需要使用可选组件,则需要做更多的工作。这些组件包括:
- Boost.IOStreams Bzip2 filters
- Boost.IOStreams Zlib filters
- Boost.MPI
- Boost.Python
- Boost.Regex ICU support
Boost.IOStreams Bzip2 filters:
1. 将最新版本的bzip2库(写作时为1.0.6)源文件解压缩到您选择的目录中(例如C:\bzip2-1.0.6)。
2. 按照上述第二组说明构建Boost,但在运行第5步的b2时添加选项-sBZIP2_SOURCE="C:\bzip2-1.0.6"。
Boost.IOStreams Zlib filters:
1. 将最新版本的zlib库(写作时为1.2.5)源文件解压缩到您选择的目录中(例如C:\zlib-1.2.5)。
2. 按照上述第二组说明构建Boost,但在运行第5步的b2时添加选项-sZLIB_SOURCE="C:\zlib-1.2.5"。
Boost.MPI:
1. 安装MPI发行版,例如Microsoft Compute Cluster Pack。
2. 按照上述第二组说明的步骤1-3构建Boost。
3. 在运行bootstrap后的
4. 按照上述第二组说明的其余步骤构建Boost。如果自动检测MPI安装失败,则需要查找并修改适当的构建文件以在正确位置查找MPI。
Boost.Python:
1. 安装Python发行版,例如ActiveState's ActivePython。确保Python安装在您的PATH中。
2. 要完全构建库的32位版本,需要32位Python,同样适用于64位版本。如果您安装了多个版本,请编辑运行bootstrap后的
using python : 2.6 : C:\\Python\\Python26\\python ;
using python : 2.6 : C:\\Python\\Python26-x64\\python : : :
请注意,这样明确指定Python版本可能会导致MPI构建失败。因此,如果同时构建MPI,您需要分别进行带有和不带有规范的构建。
3. 按照上述第二组说明构建Boost。
Boost.Regex ICU support:
1. 将最新版本的ICU4C库(写作时为4.8)源文件解压缩到您选择的目录中(例如C:\icu4c-4_8)。
2. 打开
3. 为所选平台的调试和发布配置进行全部构建。最近的ICU4C版本在使用Visual Studio 2010进行调试和发布构建时可能会遇到问题,因为调试和发布构建的输出位于同一个目录中(这是默认行为)。一个可能的解决方法是先进行全部调试构建,然后在第二个配置(例如发布构建)中进行全部重新构建。
4. 如果要构建x64版本,您需要运行x64操作系统,因为后续构建步骤涉及运行一些64位应用程序。
5. 可选地,在完成后删除源目录。
6. 按照上述第二组说明构建Boost,但在运行第5步的b2时添加选项-sICU_PATH="C:\icu4c-4_8"。
如果您遇到以下错误信息:boost error: msvc initialization: parameter 'version' inconsistent
,您只需使用--toolset=msvc
而不指定版本号。
对于Visual Studio 2019,请运行b2 --toolset=msvc-14.2 --build-type=complete architecture=x86 address-model=64 stage
。
如果您想要同时使用x64和win32版本,请将"--stagedir=lib/win32"和"--stagedir=lib/x64"添加到各自的构建中。
关于如何构建和配置Visual Studio 2010的Boost的视频教程,请参考以下链接:[youtube.com/watch?v=5AmwIwedTCM](http://www.youtube.com/watch?v=5AmwIwedTCM)。