报错:remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu……
原因:
1、第一次配置参数时,不完整,出现错误!,(报错也会产生CMakeCache文件)
2、第二次完整的配置输入,报错 原因是前产生CMakeCache文件
解决:如提示删除CMakeCache文件,再重新构建
[root@controller mysql-5.6.36]# rm -rf CMakeCache.txt
什么是CMakeCache.txt及其覆盖我的变量的原因:
CMake在构建期间重新运行时使用缓存,因为CMakeList文件已更改,或者当您使用make rebuild_cache
时。它还会在正常配置运行开始时加载缓存。
使用CMake的是如下所述的标准worflow:
- 运行cmake在一个空的二进制目录生成项目&缓存
- 在CMake的GUI或
ccmake
或类似的初始版本,检查缓存变量由初始运行设置,并根据需要进行修改。 - 重新运行CMake(或者如果你的用户界面提供的话,只是其配置步骤)。
- 重复步骤2 & 3,直到你满意的配置
- 如果你只在3运行的配置,运行生成
你现在有根据自己的口味配置编译系统。
对于上述工作,缓存中的用户更改必须优先于CMakeLists.txt中指定的默认缓存值。否则,在下一次配置时,从点2开始的用户更改将丢失,并重新由项目指定的默认值覆盖。
这就是为什么CMake命令set(var ... CACHE)
不修改高速缓存变量var
(如果它已存在)。通常,您的项目应该将缓存设置为提供用户可调整的默认设置。
如果你真的需要覆盖的用户选择在你的项目,你可以:
- 添加
FORCE
到set
命令,或 - 使用
set
没有CACHE
设置非缓存变量。非缓存变量优先于相同名称的缓存变量。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/277165.html