1

将 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!

制作已安装

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

任何帮助或想法?

谢谢!

4

1 回答 1

1

正如评论中已经指出的那样,消息

file attempted to write a file ... into a source directory

CMAKE_DISABLE_SOURCE_CHANGES项目中设置的变量的结果CMakeLists.txt。此设置激活检查,CMake 项目不会在源目录下创建任何文件。(有关此变量设置的更精确描述,请参见该答案)。

通常,设置CMAKE_DISABLE_SOURCE_CHANGES变量伴随着设置CMAKE_DISABLE_IN_SOURCE_BUILD变量,字面意思是:

该项目不应该在源代码中构建。

解决方案是在与源代码不同的构建目录中构建项目外源代码

比如这样:

cd <project-dir>
mkdir build
cd build
cmake ..
于 2020-08-19T20:46:23.077 回答