首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新后的Ubuntu cmake错误

更新后的Ubuntu cmake错误
EN

Stack Overflow用户
提问于 2018-09-05 18:38:49
回答 1查看 3.9K关注 0票数 2

在将cmake更新到3.12.1版本后,我发现了错误

代码语言:javascript
复制
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安装

代码语言:javascript
复制
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

有什么帮助或想法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-08-19 20:46:23

正如评论中已经指出的,

代码语言:javascript
复制
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变量,具有字面意义:

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

解决方案是在构建目录中构建与源目录不同的项目out-of-source,。

以这种方式:

代码语言:javascript
复制
cd <project-dir>
mkdir build
cd build
cmake ..
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52191556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档