我们在同一个目录下创建不同的目录,因为每天的任务不同,需要编译不同的文件,但是在bulid目录下的CmakeCached.txt这个文件会缓存第一次编译的文件的信息,以至于第二次编译另一个文件的时候会出现下面的错误
:CMake Error: The source "/home/lixuhao/muduo/08/CMakeLists.txt" does not match the source "/home/lixuhao/muduo/09/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
也就是说目前的Cmakelist.txt里面的资源与过去(与其说是过去不如说是上一次)generate(生成)的缓存里面的Cmakelists.txt不同。如下:
我的处理办法是进入上一层的build目录里(执行./build.sh后,会在上一层生成一个可执行程序目录build)一直cd ,知道找到和bin在同一层的CmakeCache.txt,然后删除掉它。