Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMake: failed to run MSBuild command: MSBuild.exe

I am trying to build FIAT using CMake GUI on windows 10.

CMake Error at CMakeLists.txt:3 (project):   Failed to run MSBuild command:      MSBuild.exe    to get the value of VCTargetsPath: Configuring incomplete, errors occurred! 

I configured CMake to use Visual Studio 15 2017 compiler.

How can I fix this?

If needed, here is the CMakeLists.txt file

cmake_minimum_required(VERSION 3.2) include(CheckCXXCompilerFlag) project(FIAT CXX)  set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)  if(CHECK_CXX_COMPILER_USED1) # Using Visual Studio C++ elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "MSVCx") # Using Intel C++ elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "Intelx") else(CHECK_CXX_COMPILER_USED1)     # GCC or Clang     # At least C++11     CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)     CHECK_CXX_COMPILER_FLAG("-std=c++1z" COMPILER_SUPPORTS_CXX1Z)     CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)     CHECK_CXX_COMPILER_FLAG("-std=c++1y" COMPILER_SUPPORTS_CXX1Y)     CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)     if(COMPILER_SUPPORTS_CXX17)         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")     elseif(COMPILER_SUPPORTS_CXX1Z)         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1z")     elseif(COMPILER_SUPPORTS_CXX14)         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")     elseif(COMPILER_SUPPORTS_CXX1Y)         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")     elseif(COMPILER_SUPPORTS_CXX11)         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")     else(COMPILER_SUPPORTS_CXX17)         message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")     endif(COMPILER_SUPPORTS_CXX17)      if(CHECK_CXX_COMPILER_USED2)     elseif("${CMAKE_CXX_COMPILER_ID}x" MATCHES "Clangx")         # Using Clang         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-global-constructors")     elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "GNUx")         # Using GCC         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic")     endif(CHECK_CXX_COMPILER_USED2) endif(CHECK_CXX_COMPILER_USED1)  #OpenCV FIND_PACKAGE(OpenCV REQUIRED core imgproc highgui imgcodecs) if(OpenCV_Found)     INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIR}) endif(OpenCV_Found)  #Boost FIND_PACKAGE(Boost REQUIRED program_options filesystem) if(Boost_FOUND)     INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) else(Boost_FOUND)     set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "C:/local/boost_1_60_0/")     set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "C:/local/boost_1_60_0/lib64-msvc-14.0")     Find_PACKAGE(Boost)     if(Boost_FOUND)         INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})     endif(Boost_FOUND) endif(Boost_FOUND)  set(Boost_USE_STATIC_LIBS        OFF) set(Boost_USE_MULTITHREADED      ON) set(Boost_USE_STATIC_RUNTIME     OFF) set(BOOST_ALL_DYN_LINK           OFF)  # Annotation Lib file(GLOB_RECURSE FIAT_LIB_HEADERS     "${FIAT_SOURCE_DIR}/src/image/*.h" "${FIAT_SOURCE_DIR}/src/annotation/*.h" "${FIAT_SOURCE_DIR}/src/tools/*.h" )  file(GLOB_RECURSE FIAT_LIB_SRC     "${FIAT_SOURCE_DIR}/src/image/Image.cpp" "${FIAT_SOURCE_DIR}/src/annotation/*.cpp" "${FIAT_SOURCE_DIR}/src/tools/*.cpp" )  add_library(utilities ${INCLUDE_DIRECTORIES} ${FIAT_LIB_HEADERS} ${FIAT_LIB_SRC}) target_link_libraries (utilities ${Boost_LIBRARIES} ${OpenCV_LIBRARIES} )  if(CHECK_CXX_COMPILER_USED_UTILITIES)  elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "MSVCx")   # using Visual Studio C++ elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "Intelx")   # using Intel C++ else()   # GCC or Clang     target_link_libraries (utilities m ) endif(CHECK_CXX_COMPILER_USED_UTILITIES)  # Annotate file(GLOB_RECURSE FIAT_ANNOTATE_HEADERS )  file(GLOB_RECURSE FIAT_ANNOTATE_SRC     "${FIAT_SOURCE_DIR}/src/app/annotate.cpp" )  add_executable(annotate ${INCLUDE_DIRECTORIES} ${FIAT_LIB_HEADERS} ${FIAT_ANNOTATE_HEADERS} ${FIAT_ANNOTATE_SRC}) target_link_libraries(annotate utilities ${Boost_LIBRARIES} ${OpenCV_LIBRARIES})   if(CHECK_CXX_COMPILER_USED_ANNOTATE) elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "MSVCx")   # using Visual Studio C++ elseif("${CMAKE_CXX_COMPILER_ID}x" STREQUAL "Intelx")   # using Intel C++ else()   # GCC or Clang     target_link_libraries (annotate m) endif(CHECK_CXX_COMPILER_USED_ANNOTATE) 

As per your recommendation, I tried building from the Developer Command Prompt for VS2015 but still got the following error:

msbuild FIAT.vcxproj /p:configuration=debug Microsoft (R) Build Engine version 14.0.25420.1 Copyright (C) Microsoft Corporation. All rights reserved.  Build started 6/12/2017 5:16:26 AM. Project "E:\Work\FastImageAnnotationTool-master\FIAT.vcxproj" on node 1 (default targets). E:\Work\FastImageAnnotationTool-master\FIAT.vcxproj(1,1): error MSB4067: The element <#text> beneat h element <Project> is unrecognized. Done Building Project "E:\Work\FastImageAnnotationTool-master\FIAT.vcxproj" (default targets) -- FA ILED.   Build FAILED.  "E:\Work\FastImageAnnotationTool-master\FIAT.vcxproj" (default target) (1) ->   E:\Work\FastImageAnnotationTool-master\FIAT.vcxproj(1,1): error MSB4067: The element <#text> bene ath element <Project> is unrecognized.      0 Warning(s)     1 Error(s)  Time Elapsed 00:00:00.03 

Here is my project's .vcxproj file

<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">     <ItemGroup>       <ProjectConfiguration Include="Debug|Win32">         <Configuration>Debug</Configuration>         <Platform>Win32</Platform>       </ProjectConfiguration>       <ProjectConfiguration Include="Release|Win32">         <Configuration>Release</Configuration>         <Platform>Win32</Platform>       </ProjectConfiguration>     </ItemGroup>     <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />     <PropertyGroup>       <ConfigurationType>Application</ConfigurationType>       <PlatformToolset>v120</PlatformToolset>     </PropertyGroup>     <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />     Annotation.cpp Annotations.cpp app/annotate.cpp - image/Image.cpp test/image-test.cpp - tools/tools.cpp    <ItemGroup>       <ClInclude Include="/src/annotation/Annotation.cpp" />     </ItemGroup>     <ItemGroup>       <ClInclude Include="/src/annotation/Annotation.h" />     </ItemGroup>      <ItemGroup>       <ClInclude Include="/src/annotation/Annotations.cpp" />     </ItemGroup>     <ItemGroup>       <ClInclude Include="/src/annotation/Annotation.h" />     </ItemGroup>      <ItemGroup>       <ClInclude Include="/src/app/annotate.cpp" />     </ItemGroup>      <ItemGroup>       <ClInclude Include="/src/image/Image.cpp" />     </ItemGroup>     <ItemGroup>       <ClInclude Include="/src/image/Image.h" />     </ItemGroup>    <ItemGroup>       <ClInclude Include="/src/test/image-test.cpp" />     </ItemGroup>     <ItemGroup>       <ClInclude Include="/src/tools/tools.cpp" />     </ItemGroup>     <ItemGroup>       <ClInclude Include="/src/tools/tools.h" />     </ItemGroup>     <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />   </Project>   
like image 542
A_Matar Avatar asked Jun 10 '17 22:06

A_Matar


People also ask

How do I install MSBuild EXE?

Install MSBuild For a typical default installation on Windows 10, MSBuild.exe is under the installation folder in MSBuild\Current\Bin. In the installer, make sure MSBuild tools for the workloads you use are selected, and choose Install.

How do I run MSBuild command?

To run MSBuild at a command prompt, pass a project file to MSBuild.exe, together with the appropriate command-line options. Command-line options let you set properties, execute specific targets, and set other options that control the build process.

How do I add MSBuild EXE to path?

Click on System and Security and then on System. In the left pane, click on Advanced system settings. At the very bottom of the pop up, click on Environment Variables. Edit the Path variable and append the folder's path that contains the MSBuild.exe to it (e.g., ;C:\Windows\Microsoft.NET\Framework64\v4.

Where do I find MSBuild path?

For example, the path to MSBuild.exe installed with Visual Studio 2019 Community is C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe You can also use the following PowerShell module to locate MSBuild: vssetup.


2 Answers

The error reads a missing Path to MSBuild.exe

The possible solution to this is to install MSBuild.exe

Scroll down to Other Tools and Frameworks, and install Build Tools For Visual Studio

like image 66
Abhishek Jain Avatar answered Sep 28 '22 05:09

Abhishek Jain


What Worked for me was

  1. File > Delete Cache
  2. Click Configure
  3. Selecting The right version of Visual Studio from the drop-down list, I.e. - the one that is installed on your machine. in my case, it was 'Visual Studio 15 2017' on windows 10.
like image 24
Yatin Khurana Avatar answered Sep 28 '22 05:09

Yatin Khurana