VSCODE 显示CMake Error: The source "/home/ros/Workspaces/getting_started/src/CMakeLists.txt" does not match the source "/home/ros/Workspaces/getting_started/src/my_first_package/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. Invoking "cmake" failed怎么解决
时间: 2023-09-06 19:11:34 浏览: 285
这个错误通常是由于CMake的缓存文件与CMakeLists.txt文件的路径不匹配导致的。要解决这个问题,你可以尝试以下方法:
1. 清理CMake缓存:在VSCode终端中执行以下命令来清理CMake的缓存文件:
```
rm -rf build/
```
2. 重新生成build目录:在VSCode终端中执行以下命令来重新生成build目录:
```
mkdir build && cd build
```
3. 重新运行cmake命令:在VSCode终端中执行以下命令来重新运行cmake命令:
```
cmake ..
```
这样应该可以解决CMake Error并重新生成正确的缓存文件。如果问题仍然存在,请确保CMakeLists.txt文件的路径与缓存文件路径匹配,并检查是否有其他配置或环境变量导致了该错误。
相关问题
CMake Error: The source "/home/tao/Desktop/xyl/astra_camera_ws/src/CMakeLists.txt" does not match the source "/home/tao/Desktop/xyl/astra_camera_ws/src/ros_astra_camera/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. Makefile:1416: recipe for target 'cmake_check_build_system' failed make: *** [cmake_check_build_system] Error 1
这个错误是由于你在运行CMake时使用的源文件目录与之前生成缓存时使用的源文件目录不匹配所导致的。根据错误信息,你可以尝试重新运行cmake命令,并指定一个不同的源文件目录来解决这个问题。你可以尝试以下步骤:
1. 删除之前生成的构建文件夹(如果存在),执行以下命令:
```
rm -rf /home/tao/Desktop/xyl/astra_camera_ws/build
```
2. 创建一个新的构建文件夹并进入该目录:
```
mkdir /home/tao/Desktop/xyl/astra_camera_ws/build
cd /home/tao/Desktop/xyl/astra_camera_ws/build
```
3. 运行cmake命令,并指定正确的源文件目录:
```
cmake ../src/ros_astra_camera
```
这样应该能够解决这个问题。请确保你在运行cmake命令时指定了正确的源文件目录,并且删除了之前生成的构建文件夹。如果问题仍然存在,请检查你的项目配置是否正确。
CMake Error: The current CMakeCache.txt directory /home/zkc/opencv-4.4.0/build/CMakeCache.txt is different than the directory /home/zkc/software/opencv-4.4.0/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt CMake Error: The source "/home/zkc/opencv-4.4.0/CMakeLists.txt" does not match the source "/home/zkc/software/opencv-4.4.0/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
这个错误是由于 CMakeCache.txt 文件所在的目录与创建该文件时的目录不同导致的。这可能会导致二进制文件被创建在错误的位置。如果您不确定,请重新编辑 CMakeCache.txt 文件。另外,源文件目录也不匹配,需要使用不同的源目录重新运行 cmake。
阅读全文