make: *** No rule to make target 'cmake_check_build_system'. Stop.
时间: 2023-07-07 22:46:37 浏览: 268
这个错误通常是因为你没有先运行 `cmake` 命令生成 Makefile 文件。在运行 `make` 命令之前,你需要先在 ROS package 的 build 目录下运行 `cmake` 命令生成 Makefile 文件。你可以按照以下步骤操作:
1. 在 ROS package 的根目录下创建一个 build 目录:
```
cd /path/to/your/catkin_ws/src/your_package
mkdir build
```
2. 进入 build 目录,并运行 `cmake` 命令生成 Makefile 文件:
```
cd build
cmake ..
```
3. 等待 `cmake` 命令执行完毕后,运行 `make` 命令编译 ROS package:
```
make
```
这样就可以成功编译 ROS package 了。如果你仍然遇到问题,请检查你的 CMakeLists.txt 文件是否正确配置。
相关问题
CMake Error at plumbing_test/CMakeLists.txt:141 (add_executable): Cannot find source file: .cpp Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx CMake Error: CMake can not determine linker language for target: test04_param CMake Error: Cannot determine link language for target "test04_param". -- Generating done -- Build files have been written to: /home/melodic/demo03_ws/build Makefile:1216: recipe for target 'cmake_check_build_system' failed make: *** [cmake_check_build_system] Error 1 Invoking "make cmake_check_build_system" failed
这个错误是由于在CMakeLists.txt文件中找不到名为".cpp"的源文件引起的。CMake无法确定目标"test04_param"的链接语言。这可能是因为在CMakeLists.txt文件中没有正确指定源文件或链接语言的原因。请检查CMakeLists.txt文件,确保正确指定了源文件和链接语言。
make: *** No rule to make target 'or'. Stop. Invoking "make or catkin build -j4 -l4" failed
引用:make: *** No rule to make target ‘/usr/lib/libOpenNI2.so’, needed by ‘/home/yujie/Test_ws/devel/lib/libloam.so’。 停止。 CMakeFiles/Makefile2:2708: recipe for target ‘loam_velodyne/src/lib/CMakeFiles/loam.dir/all’ failed make: *** [loam_velodyne/src/lib/CMakeFiles/loam.dir/all] Error 2 Makefile:138: recipe for target ‘all’ failed make: *** [all] Error 2 Invoking “make -j4 -l4” failed 。 引用:Clear the cache $ cd rtabmap/build $ rm CMakeCache.txt $ cmake -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel .. 。 引用:$ gedit /home/william/catkin_ws/src/rtabmap_ros-kinetic-devel/src/MsgConversion.cpp。
根据提供的信息,"make: *** No rule to make target 'or'. Stop. Invoking "make or catkin build -j4 -l4" failed" 这个问题是由于在执行make命令时,make发现没有名为‘or’的目标,并且编译中止。这可能是由于Makefile文件中没有指定‘or’规则导致的。可以尝试检查Makefile文件中是否存在错误或缺少规则。
为了解决这个问题,你可以尝试以下步骤:
1. 确保你的Makefile文件中包含了正确的目标规则,以及相关的依赖关系。
2. 检查是否有任何语法错误或拼写错误导致了make命令无法识别目标。
3. 如果你使用了CMake进行项目构建,你可以尝试清除缓存并重新生成Makefile文件。你可以使用以下命令:$ cd rtabmap/build $ rm CMakeCache.txt $ cmake -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel ..
希望这些步骤能够帮助你解决问题。如果还有其他问题,请随时提问。
阅读全文