make: *** No rule to make target 'obj/(2).o', needed by 'all'。 停止
时间: 2023-11-08 14:04:39 浏览: 24
这个错误通常表示 makefile 文件中缺少了某些依赖项或者文件,导致 make 命令无法找到目标文件。你可以尝试检查一下 makefile 文件中是否有语法错误或者依赖项是否正确。同时,也可以检查一下 obj 目录下是否存在 (2).o 这个文件。
如果以上方法都没有解决问题,你可以尝试重新生成 makefile 文件或者重新编译整个项目。
相关问题
*** No rule to make target 'obj/image_opencv.o', needed by 'darknet'. Stop.
这个错误消息表明在构建 darknet 时,没有找到 `obj/image_opencv.o` 这个目标文件。停止构建了。
要解决此问题,你可以尝试以下几个步骤:
1. 检查是否正确安装了 OpenCV,并确保已经正确配置了 OpenCV 的路径。你可以使用 `pkg-config --libs opencv` 命令来验证是否能正确找到 OpenCV 库。
2. 确保你的代码中正确地包含了 OpenCV 的头文件,并且相关的库链接标志已经正确设置。
3. 检查你的 Makefile 文件中是否正确地指定了编译 `obj/image_opencv.o` 这个目标文件的规则。确保规则中的依赖文件和路径设置都是正确的。
如果以上步骤都没有解决问题,可能需要确认编译环境和依赖项的配置,以确保能够正确地编译 darknet。
FAILED: ninja: 'out/target/product/sc138/obj/SHARED_LIBRARIES/android.hardware.power-V1-ndk_platform_intermediates/android.hardware.power-V1-ndk_platform.so.toc', needed by 'out/target/product/sc138/obj/EXECUTABLES/android.hardware.power-service_intermediates/LINKED/android.hardware.power-service', missing and no known rule to make it
这个错误提示表明编译器无法找到所需的动态库文件。可能是因为动态库文件路径设置不正确或者缺少相关的依赖库文件。
你可以尝试以下几个步骤来解决这个问题:
1. 检查动态库文件路径是否正确。你可以在 CMakeLists.txt 文件中添加以下代码来设置动态库文件路径:
```
set_target_properties(<target_name> PROPERTIES LIBRARY_OUTPUT_DIRECTORY <path_to_lib>)
```
其中 `<target_name>` 指的是目标文件名, `<path_to_lib>` 指的是动态库文件的路径。
2. 检查是否缺少相关的依赖库文件。你可以使用 `ldd` 命令来检查动态库文件的依赖关系。如果缺少依赖库文件,你需要安装相关的依赖库文件或者手动添加依赖库文件路径。
3. 清理并重新编译。有时候重新编译可以解决问题。
如果以上方法仍然无法解决问题,你可以尝试在编译时添加 `-v` 参数来获取更详细的错误信息。