如何从命令行使用 VS2015 x64 构建 TBB?

Posted

技术标签:

【中文标题】如何从命令行使用 VS2015 x64 构建 TBB?【英文标题】:How to build TBB using VS2015 x64 from the command line? 【发布时间】:2017-02-05 00:58:38 【问题描述】:

我想使用 Visual Studio 2015 x64 从命令行构建英特尔线程构建模块。我从https://www.threadingbuildingblocks.org/ 下载了last stable version。

目录tbb2017_20161128oss\build\vs2012 包含一些其他文件:

makefile.sln 
tbb.vcxproj 
tbbmalloc.vcxproj 
tbbmalloc_proxy.vcxproj

为了构建 TBB 的调试版本,我在 VS2015 x64 Native Tools Command Prompt 中尝试了以下命令:

Devenv makefile.sln /build Debug /project tbb

但我收到以下错误:

Microsoft Visual Studio 2015 Version 14.0.25420.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Build started: Project: tbb, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(344,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>  generating tbb.def file
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(172,5): error MSB6006: "cmd.exe" exited with code -1073741515.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这里的问题是VS2012文件需要升级。当我手动打开文件makefile.sln 时,会弹出这些窗口:

如果我点击“确定”按钮并再次重试env makefile.sln /build Debug /project tbb,一切正常。

因为我计划在多台计算机上构建 TBB,所以这个手动任务很烦人。可以避免吗?有没有办法从命令行升级解决方案?

【问题讨论】:

还有另一种对 TBB 更自然的方法:下载 gmake.exe for windows 并使用 makefile 构建。 【参考方案1】:

您应该在构建命令之前运行devenv makefile.sln /upgrade

顺便说一句,您可以从 Download 页面获取二进制文件

【讨论】:

以上是关于如何从命令行使用 VS2015 x64 构建 TBB?的主要内容,如果未能解决你的问题,请参考以下文章

在命令行中将构建工具从 VS2010 更改为 VS2015

VS2012 x64 跨工具命令提示符

如何使用 MSBuild 构建具有 VS2010 配置的 VS2015 解决方案?

从命令行构建一个VS2003项目而不输出警告

如何在 Windows 10 上使用 Visual Studio 2015 x64 配置和构建 Tesseract OCR C++

如何使用Visual Studio 14 2015 x64构建OpenEXR 2.2?