我目前正在尝试在我的一个项目中交换静态库,这需要交换find_package()命令以显示到静态库的显式链接。我遇到的一个问题是,即使删除了重新加载CMake项目的find_package()命令,旧变量仍然存在。
除了手动删除Clion为构建项目而创建的临时文件夹中的所有文件外,有没有办法显式刷新CMake缓存?
答案 0 :(得分:61)
从CLion 1.5 144.3143(2016-01-20)开始,您可以清除cmake缓存,而不用丢失CLion索引,不用重启(意思是:非常快,还有大型项目):
Tool | CMake | "Reset cache and reload project".
如果由于某些原因还不够,或者你有一个较旧的CLion,你可以做更激进的事情:
File | "Invalidate Caches / Restart"
并单击“无效并重新启动”。
EDITS
答案 1 :(得分:1)
这个缓存有一些神奇之处。
我曾经为一个变量得到了不好的价值:由于某种原因,cmake发现一些破坏的freetype包含在mono.framework
内(另一个不喜欢单声道的原因......)并试图用它们来编译我的项目。显然编译失败了。
我尝试删除CMakeCache.txt
并重建项目,但错误的路径又回来了。即使我删除了mono.framework
dir!
解决方案是从缓存中删除不正确的行并重新启动构建。之后,cmake获得了正确的路径并且构建成功。
<强> UPD:强>
在我重新加载cmake项目&#34;错误的价值回来了。删除$HOME/Library/Caches/clion11/cmake/generated/
目录中的所有内容(对于OS X)似乎最终解决了问题。