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
Visual studio visual studio express 2012和cmake_Visual Studio_Cmake_Visual Studio 2012 - Fatal编程技术网

Visual studio visual studio express 2012和cmake

Visual studio visual studio express 2012和cmake,visual-studio,cmake,visual-studio-2012,Visual Studio,Cmake,Visual Studio 2012,我正在寻找一种方法来编译一些库,这些库可以通过cmake使用,问题是我想使用VC++express 2012(允许x64开发的第一个express版本),但是当我运行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 sele

我正在寻找一种方法来编译一些库,这些库可以通过cmake使用,问题是我想使用VC++express 2012(允许x64开发的第一个express版本),但是当我运行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!

我发现这个路径就是devenv.exe的路径,但是这个全新的vc没有这个程序。有什么解决方法吗?

因此,在文件
CMakeVS11FindMake.cmake
中,我必须更改注册表项的所有引用

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0
切中要害

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

(只需添加它们作为额外提示就可以了)

目前,CMake(2.8.9)的任何发布版本都不支持Visual Studio 2012 Express Edition。然而,CMake开发人员今天刚刚发布了。无论何时发布,修复程序都应该在CMake 2.8.10中

如果你真的需要它更快,你应该能够抓取,但你可能需要的方式,直到20120919安装程序发布,因为我不知道这个修复是否进入20120918安装程序


(为了今天进行测试,我检查了他们的源代码,切换到分支“下一步”,配置了一个旧的CMake,为自己构建了一个新的CMake,并确认它与2012 Express相比运行良好。)

我仍然需要将上面Sambatyon的修复程序应用于CMakeVS11FindMake.CMake,我正在使用CMake 2.8.10.2。

我的解决方案:为2010年生成,在VS2012中“全部重新加载”,然后在解决方案资源管理器中的解决方案上“更新VC++项目”


但是:我的安装包括active VS 2010、过期VS 2012试用版、active VS 2012 Express。

其他解决方案不再有效;使用最新版本(截至编写之日,桌面版为express 2012),您可能需要修改:

C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeVS12FindMake.cmake
阅读以下内容:

#=============================================================================
# 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)
#=============================================================================
#版权所有2007-2013 Kitware,Inc。
#
#根据OSI批准的BSD许可证(“许可证”)分发;
#有关详细信息,请参阅随附文件Copyright.txt。
#
#本软件的分发不提供任何担保;甚至没有
#对适销性或特定用途适用性的默示保证。
#有关详细信息,请参阅许可证。
#=============================================================================
#(若要在CMake之外分发此文件,请替换完整的
#上述参考的许可证文本。)
#始终使用MSBuild,因为:
#-devenv将命令行生成视为IDE中最近加载的项目
#-devenv似乎不支持非标准平台工具集
#如果将来需要针对英特尔Fortran的devenv,我们应该添加
#启用Fortran时的特殊情况。
查找程序(CMAKE\U MAKE\u程序
名称MSBuild

提示“[HKEY\U LOCAL\U MACHINE\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\4.0;MSBuildToolsPath]”是的,我看到了,但是它们没有提供解决方法。您不能让cmake为VS2012或VC Express 2010生成vcxproj文件,然后手动(使用devenv或MSBuild或IDE)生成它吗?在付费Visual Studio应用程序中,CMAKE_MAKE_程序是devenv.com或MSbuild.exe。我认为MSbuild.exe不适用于express版本,因此,如果这将停止生成,您可能必须等待修复。它是否也支持为ARM生成?