【发布时间】:2017-01-04 00:28:45
【问题描述】:
我正面临一个特定问题,需要建议或调试方法。
我正在从源代码构建 Allegro 库,使用:Windows 10、CMake 和 Visual Studio 2015 构建工具 (msbuild)。
来源:https://github.com/liballeg/allegro5
问题是当我运行 `cmake --build .'我收到错误消息,指出未安装 v100 工具集,但我正在为 Visual Studio 2015 而不是 2010 制作它。如果我打开解决方案,或直接运行 msbuild,它构建得非常好。
是否有调试 CMake 的方法可以帮助我发现问题?
失败的命令:
mkdir _build
pushd _build
cmake.exe ..
cmake --build .
popd
错误:
“C:\Users\matthew\repos\allegro5_build\ALL_BUILD.vcxproj”(默认 目标)(1)-> “C:\Users\matthew\repos\allegro5_build\ZERO_CHECK.vcxproj”(默认 目标)(2)->(PlatformPrepareForBuild 目标)-> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5): 错误 MSB8020:Visual Studio 2010 的构建工具(平台 工具集 = 'v100') 找不到。使用 v100 构建 工具,请安装 Visual Studio 2010 构建工具。或者, 您可以通过选择升级到当前的 Visual Studio 工具 项目菜单或右键单击解决方案,然后选择“重新定位 解决方案”。 [C:\Users\matthew\repos\allegro5 _build\ZERO_CHECK.vcxproj]
工作命令:
mkdir _build
pushd _build
cmake.exe ..
msbuild ALLEGRO.sln
popd
我还尝试使用以下命令将其强制到 Visual Studio 2015:
cmake.exe -G "Visual Studio 14" ..
注意:我已经用 CMake 构建了自己的小项目,并且它使用 CMake --build 正确构建
对我来说,allegro cmake 构建似乎有些疯狂。我已经搜索了源代码以尝试找到对 v100 和 MSVC_2010 的引用,但没有发现任何值得关注的问题。 我不想直接使用 MSBuild 作为解决方法,因为我想在 ExternalProject_Add 中包含 allegro,并且失败的原因与使用 cmake --build 构建它的原因相同。
我该如何解决这个问题?
【问题讨论】:
-
如果您确信 Allegro 指的是 v100 工具(他们为什么要这样做?),然后使用
ExternalProject_Add方法并查找 Allegro cmake 文件。我发现crascit.com/2016/10/18/test-fixtures-with-cmake-ctest 是一种使用外部项目功能的干净方式。 -
您的答案可能在这里:stackoverflow.com/questions/33380128/… - 它可能是一个简单的旧
.vcxproj文件,指的是v100工具集。祝你好运。