Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 调试CMake项目创建_Msbuild_Cmake_Allegro5 - Fatal编程技术网

Msbuild 调试CMake项目创建

Msbuild 调试CMake项目创建,msbuild,cmake,allegro5,Msbuild,Cmake,Allegro5,我面临一个特定的问题,需要建议或调试它的方法 我正在使用Windows 10、CMake和Visual Studio 2015构建工具(msbuild)从源代码构建Allegro库 资料来源: 问题是,当我运行“cmake--build”时,我会收到一些错误,说明没有安装v100工具集,但我是为VisualStudio2015而不是2010制作的。如果我打开解决方案,或者直接运行msbuild,它的构建非常好 是否有一种调试CMake的方法可以帮助我发现问题 失败的命令: mkdir _buil

我面临一个特定的问题,需要建议或调试它的方法

我正在使用Windows 10、CMake和Visual Studio 2015构建工具(msbuild)从源代码构建Allegro库

资料来源:

问题是,当我运行“cmake--build”时,我会收到一些错误,说明没有安装v100工具集,但我是为VisualStudio2015而不是2010制作的。如果我打开解决方案,或者直接运行msbuild,它的构建非常好

是否有一种调试CMake的方法可以帮助我发现问题

失败的命令:

mkdir _build
pushd _build
cmake.exe ..
cmake --build .
popd
mkdir _build
pushd _build
cmake.exe ..
msbuild ALLEGRO.sln
popd
错误:

“C:\Users\matthew\repos\allegro5\u build\ALL\u build.vcxproj”(默认值 目标(1)-> “C:\Users\matthew\repos\allegro5\u build\ZERO\u 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生成工具。或者, 您可以通过选择 “项目”菜单或右键单击解决方案,然后选择“重定目标” 解决办法”。[C:\Users\matthew\repos\allegro5 _build\ZERO\u CHECK.vcxproj]

工作命令:

mkdir _build
pushd _build
cmake.exe ..
cmake --build .
popd
mkdir _build
pushd _build
cmake.exe ..
msbuild ALLEGRO.sln
popd
我还尝试使用以下命令将其强制到Visual Studio 2015:

cmake.exe -G "Visual Studio 14" ..
注意:我已经用CMake构建了自己的小项目,它使用CMake--build正确构建

在我看来,它似乎有点疯狂与快板cmake建设。我搜索了源代码,试图找到v100和MSVC_2010的参考资料,但没有发现任何值得关注的地方。 我不想直接使用MSBuild作为解决方法,因为我想将allegro与ExternalProject_Add一起包含在内,这与使用cmake--build构建它的原因相同


<>我如何解决这个问题?

< P>我和另一个库(拉链,一个围绕MIZIP的C++包装)有类似的问题。我还特别使用了CMake和ExternalProject_Add。完全相同的错误。我花了很多时间研究这个问题。我在使用的另一个项目中发现了类似的问题(请查看“已知问题”部分)。对我来说,错误发生在安装目标期间。改变

BUILD_COMMAND${CMAKE_COMMAND}--BUILD--配置发布

BUILD_COMMAND${CMAKE_COMMAND}--BUILD--配置发布--目标安装 安装命令“”


修正了这个问题。不知道问题出在哪里。似乎CMake在ExternalProject中使用的默认安装命令以某种方式选择了错误的工具集…

的可能副本可能会有所帮助:如果您确信Allegro引用了v100工具(为什么会这样做?),那么请使用
ExternalProject\u Add
方法并查找Allegro CMake文件。我发现这是一种使用外部项目功能的干净方法。您的答案可以是:-它可以像引用
v100
工具集的旧
.vcxproj
文件一样简单。祝你好运。谢谢你提供的信息!这并没有解决我的问题,因为它不是在安装步骤中,而是在构建步骤中。然而,这表明CMake、Visual Studio 2015和/或基于Windows 10的构建有问题。有相同问题的另一组: