Я пытаюсь скомпилировать проект с открытым исходным кодом, чтобы использовать его поверх окон ( этот ).Я использовал CMake, и я использую bash __build.cmd
, чтобы построить проект после этого.Код написан на cpp.
Я установил Visual Studio 2017 Community Edition незадолго до этого (требования - 2013 или более поздняя)
При попытке скомпилировать это (используя __build.cmd
) я получаю следующую ошибку:
Release|Win32
Build started 27/11/2018 17:15:25.
1>Project "C:\Users\SHIRM\out_git\gptp\windows\gptp.sln" on node 1 (Clean;Build target(s)).
1>ValidateSolutionConfiguration:
Building solution configuration "Release|Win32".
ValidateProjects:
The project "ALL_BUILD" is not selected for building in solution configuration "Release|Win32".
1>Project "C:\Users\SHIRM\out_git\gptp\windows\gptp.sln" (1) is building "C:\Users\SHIRM\out_git\gptp\windows\ZERO_CHECK.vcxproj" (2) on node 1 (Clean target(s)).
Project file contains ToolsVersion="15.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular
ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppClean.targets(76,5): error MSB4062: The "CppClean" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Vi
sual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll. Could not load file or assembly 'Microsoft.Build.Utilities.Core, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one
of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that impleme
nts Microsoft.Build.Framework.ITask. [C:\Users\SHIRM\out_git\gptp\windows\ZERO_CHECK.vcxproj]
2>Done Building Project "C:\Users\SHIRM\out_git\gptp\windows\ZERO_CHECK.vcxproj" (Clean target(s)) -- FAILED.
1>Done Building Project "C:\Users\SHIRM\out_git\gptp\windows\gptp.sln" (Clean;Build target(s)) -- FAILED.
Build FAILED.
Я вижу, что проблема, вероятно, в Project file contains ToolsVersion="15.0".... Treating the project as if it had ToolsVersion="4.0"
Дело в том, насколько я понимаю, у меня есть правильная версия MSBuild.Например, у меня есть папка с именем 15.0
внутри C:\Program Files (x86)\MSBuild
.С другой стороны, у меня есть только папки 2.0
, 3.5
, 4.0
в разделе Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions
в реестре (15.0
тоже не в самом реестре MSBuild)
Попытка решить эту проблемупроблема, я скачал MSBuild с здесь .Это добавило папки с именем 14.0
в C:\Program Files (x86)\MSBuild
и в местоположение реестра, но ошибка осталась прежней (!) [Хотя я удалил все результаты Cmake и использовал его снова].
Я немного растерялся, так как не очень разбираюсь в Windows и не написал ни одного кода, который пытаюсь использовать.
Есть идеи, что я могу сделать?Спасибо!
Редактировать
Я думаю, что это может иметь какое-то отношение к параметрам CMake.Есть возможность выбрать версию инструментов, которую я не использую.Может мне стоит что-то выбрать?(Я пробовал 14.0, 4.0, 14, и это не сработало) -
![enter image description here](https://i.stack.imgur.com/NHgmD.png)