2012-09-15 5 views
4

cmake를 통해 사용할 준비가 된 일부 라이브러리를 컴파일 할 방법을 찾고 있습니다. 문제는 VC++ Express 2012 (x64 개발을 허용하는 첫 번째 익스프레스 버전)를 사용하고 싶습니다. 내가 cmake를 실행하면 그러나 나는이 점점 계속 :이 경로가 DEVENV.EXE하는 경로 만이 새로운 VC가이 프로그램이없는 것으로 나타났습니다visual studio express 2012 및 cmake

CMake Error: CMake was unable to find a build program corresponding to "Visual Studio 11". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 
CMake Error: Could not find cmake module file:C:/Users/Alexander Rojas/workspace/jthread-1.3.1/build/CMakeFiles/CMakeCCompiler.cmake 
CMake Error: Could not find cmake module file:C:/Users/Alexander Rojas/workspace/jthread-1.3.1/build/CMakeFiles/CMakeCXXCompiler.cmake 
Configuring incomplete, errors occurred! 

. 해결 방법에 대한 아이디어가 있습니까?

+1

입니다. http://public.kitware.com/Bug/view.php?id = 13348 – stijn

+0

그래, 나는 그걸 보았지만 해결 방법을 제안하지 않았다. – Sambatyon

+0

cmake가 VS2012 또는 VC Express 2010 정도의 vcxproj 파일을 생성하도록 허용 할 수 없으며, 수동으로 (devenv 또는 msbuild 또는 IDE를 사용하여) 빌드 할 수 있습니까? – stijn

답변

8

그래서, 파일 CMakeVS11FindMake.cmake에 나는 키

HKEY_CURRENT_USER\\Software\\Microsoft\\WDExpress\\11.0_Config 

(단지 작동합니다 추가 힌트로 추가)

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0 

키 레지스트리의 모든 참조를 변경했다

5

Visual Studio 2012 Express Edition은 현재 CMake (2.8.9)의 출시 된 버전에서 지원되지 않습니다. 그러나 CMake 개발자는 바로 오늘 checked in code to fix the problem입니다. 수정본은 출시 될 때마다 CMake 2.8.10에 있어야합니다.

a nightly CMake installer을 빨리 얻을 수 있어야하지만, 20120918 설치 프로그램이 20120918 설치 프로그램에 적용되었는지 여부가 확실하지 않아 20120919 설치 프로그램이 게시 될 때까지 필요할 수 있습니다.

에서 소스 코드를 확인하고 이전 "CMake"로 구성된 "다음"지점으로 전환하고 직접 CMake를 빌드 한 다음 VS 2012 Express가 제대로 작동하는지 확인했습니다.)

+0

도 ARM 용 건물을 지원합니까? –

2

CMakeVS11FindMake.cmake에 위의 Sambatyon의 수정 사항을 적용해야하고 CMake 2.8.10.2를 사용하고 있습니다.

-1

내 해결 방법 : VS2012에서 2010 년에 "다시로드"를 생성 한 다음 솔루션 탐색기의 솔루션에서 "VC++ 프로젝트 업데이트"를 생성하십시오.

그러나 설치 프로그램은 활성 VS 2010, 만료 된 VS 2012 평가판, 활성 VS 2012 Express로 구성됩니다.

0

다른 해결책은 더 이상 작동하지 않습니다. 이 cmake 2.8.11.2

편집을위한

#============================================================================= 
# Copyright 2007-2013 Kitware, Inc. 
# 
# Distributed under the OSI-approved BSD License (the "License"); 
# see accompanying file Copyright.txt for details. 
# 
# This software is distributed WITHOUT ANY WARRANTY; without even the 
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
# See the License for more information. 
#============================================================================= 
# (To distribute this file outside of CMake, substitute the full 
# License text for the above reference.) 

# Always use MSBuild because: 
# - devenv treats command-line builds as recently-loaded projects in the IDE 
# - devenv does not appear to support non-standard platform toolsets 
# If we need devenv for Intel Fortran in the future we should add 
# a special case when Fortran is enabled. 
find_program(CMAKE_MAKE_PROGRAM 
    NAMES MSBuild 
    HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\4.0;MSBuildToolsPath]" <--- Change this line. 
) 
message("Found: ${CMAKE_MAKE_PROGRAM}") 

mark_as_advanced(CMAKE_MAKE_PROGRAM) 
set(MSVC12 1) 
set(MSVC_VERSION 1800) 

:

C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeVS12FindMake.cmake 

같은 것을 읽으려면 : 최신 당신은 수정해야 할 수 있습니다 (작성으로 데스크톱 2012을 표현) : 특히 이것은 VS2013 번들과 관련되며 VS2013 릴리스 후보 또는 향후 버전의 VS2013에서는 올바른 ToolsVersions가 \ 12.0