首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清除CMake的内部缓存

清除CMake的内部缓存
EN

Stack Overflow用户
提问于 2013-07-03 18:41:03
回答 2查看 25.8K关注 0票数 5

我相信有一个简单的命令可以做到这一点。

我在/usr/local中手动安装了opencv 2.4.3。

然后我将其删除并从arch社区(我使用的是Arch linux)安装了安装在/usr中的OpenCV 2.4.5

现在,当我尝试在cmake项目中使用OpenCV时,cmake会返回/usr/local中的旧路径。

我做了一些调查,发现如果从/usr/share/opencv/OpenCVConfig.c中的get_filename_component(OpenCV_CONFIG_PATH ="${CMAKE_CURRENT_LIST_FILE}“补丁缓存)行中删除"CACHE”,我就会得到正确的路径。

这就是我的问题。如何清除cmake缓存?我说的是cmake的内部缓存,而不是应用程序的缓存,它可以通过删除CMakeCache.txt来删除。有命令吗?或者cmake缓存目录/文件位于何处?我相信这个问题有一个简单的答案。我知道如何设置/取消设置缓存变量,但不知道如何清除整个缓存。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-28 07:30:27

问题出在pkg-config设置上。我没有删除旧的.pc文件并调整PKG_CONFIG_PATH。pkg-config使用的是/usr/local/lib/pkgconfig中的opencv.pc文件,而不是/usr/lib/pkgconfig中的文件。我认为cmake在内部并没有使用任何缓存。

票数 1
EN

Stack Overflow用户

发布于 2016-10-05 00:43:03

重新编译依赖库解决了我的问题。

我有一个依赖于Opencv的项目。当我还在使用Xcode7.2beta时,MacOSX的SDK路径是"/Applications/xcode7.2beta.app/Content/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk".因此,cmake使用MacOSX10.11.sdk在"/Applications/xcode7.2beta.app/“下生成并编译了opencv库。

几天前,我把我的xcode升级到了8.0,xcode的新路径和它的SDK是"/Applications/xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk".但不管怎样,当cmake生成我的项目时,对opencv的引用总是指向旧的xcode。

后来我意识到opencv是用旧的Xcode生成的,所以我用新的Xcode重新编译了opencv,我的项目被正确编译了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17445857

复制
相关文章

相似问题

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