如果在移动源目录后重新执行CMake,则会出现如下错误:
CMake错误:当前CMakeCache.txt目录/new-path/CMakeCache.txt与创建CMakeCache.txt的目录/ old-path不同.这可能导致在错误的位置创建二进制文件.如果您不确定,请重新编辑CMakeCache.txt
处理这个问题的最佳方法是什么?似乎删除缓存工作.为什么我要编辑CMakeCache.txt,而不是只删除它?
Fra*_*ser 18
我认为你最好的选择是删除缓存并重新创建它.事实上,如果我需要移动源代码,我倾向于进一步删除整个构建树,但这可能有点过分.
如果您确定自己在做什么,可以通过CMake GUI或手动编辑CMakeCache.txt文件,但我发现与从头开始重新运行cmake相比,通常不值得付出努力.我想如果运行CMake需要花费大量时间(例如,如果您使用ExternalProject_Add可能涉及下载和构建第三方资源),则最好修改CMakeCache.txt.
本文提供了有关CMakeCache.txt文件和编辑它的更多详细信息.特别是它说:
编辑缓存的主要原因是为CMake提供JPEG等本机库的位置,或者阻止它使用本机库并在源树中使用该库的版本.
CMake不会改变缓存文件本身的现有条目.如果您的CMakeLists.txt文件发生显着变化,则需要从缓存文件中删除相关条目.如果您尚未手动编辑缓存文件,则可以在重新运行CMake之前将其删除.
| 归档时间: |
|
| 查看次数: |
18386 次 |
| 最近记录: |