将cmake更新到版本3.12.1后出现错误
CMake Error at /usr/local/share/cmake-3.12/Modules/CMakeDetermineSystem.cmake:174 (file):
file attempted to write a file:
/home/wow/TrinityCore/CMakeFiles/CMakeOutput.log into a source directory.
Call Stack (most recent call first):
CMakeLists.txt:19 (project)
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
make已安装
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
g ++也是如此。 Ubuntu版本14.04.5
有什么帮助或想法吗?
谢谢!
答案 0 :(得分:1)
正如评论中已经提到的,消息
file attempted to write a file ... into a source directory
是在项目的CMAKE_DISABLE_SOURCE_CHANGES
中设置的CMakeLists.txt
变量的结果。此设置激活检查,即CMake项目不会在源目录下创建任何文件。 (有关此变量设置的更详细说明,请参见that answer)。
通常,设置CMAKE_DISABLE_SOURCE_CHANGES
变量会伴随设置CMAKE_DISABLE_IN_SOURCE_BUILD
变量,其字面含义是:
项目不应在源代码中构建。
解决方案是在 build目录中构建项目,该项目与源代码不同。
>例如这样:
cd <project-dir>
mkdir build
cd build
cmake ..