我目前正在尝试交换我的一个项目中的静态库,这需要交换find_package()命令来显式地链接到静态库。我遇到的一个问题是,即使删除了find_package()命令,重新加载了CMake项目,旧的变量仍然存在。
除了手动删除CMake为构建项目而创建的临时文件夹中的所有文件之外,有没有一种方法可以显式地刷新Clion缓存?
发布于 2015-02-04 05:54:49
从CLion 1.5 144.3143 (2016年1月20日)开始,您可以在不丢失CLion索引和不重新启动的情况下清除cmake缓存(这意味着:非常快,也适用于大型项目):
Tool | CMake | "Reset cache and reload project".
如果出于某些原因这还不够,或者如果你有一个更老的CLion,你可以做更激进的:
File | "Invalidate Caches / Restart"
然后单击“无效并重新启动”。
编辑
发布于 2015-10-22 20:26:52
这个缓存有一些神奇之处。我有一次得到了一个变量的错误值:由于某种原因,cmake在mono.framework
中发现了一些被破坏的自由类型包含(另一个不喜欢mono的原因...)并尝试使用它们来编译我的项目。显然,编译失败了。
我尝试删除CMakeCache.txt
并重建项目,但返回的路径不正确。即使在我删除了mono.framework
目录之后!
解决方案是从缓存中删除不正确的行,然后重新启动构建。在那之后,cmake获得了正确的路径,构建成功。
更新:我“重新加载cmake项目”后返回了不正确的值。删除$HOME/Library/Caches/clion11/cmake/generated/
目录中的所有内容(针对OS X)似乎最终解决了这个问题。
https://stackoverflow.com/questions/27526039
复制相似问题