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