cmake - 如何修复明显损坏的 CMake 构建?

标签 cmake

我在我们的源代码树上从 CMakeSetup 收到以下错误:

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_PREFIXES

删除缓存无济于事,因此 CMakeLists 之一中的某些内容一定是问题所在。奇怪的部分是,如果我从旧版本的树中复制 CMakeCache.txt 并对其进行编辑以使路径匹配,那么 CMake 将成功配置......而且,即使在删除该固定缓存后,它也会继续配置成功。

知道我应该寻找什么吗?

生成错误的 CMakeCache.txt 时缺少两个变量:Project_BINARY_DIR 和 Project_SOURCE_DIR。

最佳答案

您的项目是在顶部和基础 CMakeLists.txt 文件中声明的,还是至少必须在需要之前声明,其中在顶部是最简单的。
看来这是cmake中的一个错误。 http://www.mail-archive.com/cmake@cmake.org/msg13392.html

IE。

PROJECT(inkscape)

SET(INKSCAPE_VERSION 0.46+devel)
SET(PROJECT_NAME inkscape)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6)
SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)

...

关于cmake - 如何修复明显损坏的 CMake 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/571292/

相关文章:

c++ - clang mac 链接错误与 gtest 体系结构 x86_64 的 undefined symbol

c++ - CMake <PROJECT-NAME>_SOURCE_DIR 变量作用域

c++ - 如何将boost线程(源文件)集成到我自己的项目中

cmake - 如何查询目标是否是CMake中的INTERFACE库

c++ - 关于在 Linux 下组织源代码和构建 C++ 开发的建议(CMake 作为生成器)

c++ - Qt 带 Cmake : set(QT_USE_QTWEBKIT TRUE) not working

macos - 在 Mac 上构建 openCV 3.0.0 时出错

cmake - 对于cmake "include"命令,文件和模块有什么区别?

qt - 使用Qt Creator打开CMakeLists.txt,如何保存为.pro文件?

c++ - 如何停止 cmake 将 wxjpeg.lib 添加到 visual studio 项目?