jni/opencv2/core/core.cpp:5:20: error: No such file or directory

本文介绍了一种解决Android NDK编译时遇到的“多个目标匹配”错误的方法。通过修改Application.mk文件并清理编译目录,成功解决了编译过程中出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

但是我的根目录下有这些文件,查询后发现在stackoverflow 发现了,可能是我需要在Application.mk file中写上这条语句

 "APP_STL:=stlport_static" .


# The ARMv7 is significanly faster due to the use of the hardware FPU
APP_STL := stlport_static  

APP_CPPFLAGS := -frtti -fexceptions  

APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-9


在编译NDK库的时候,遇到一个问题,
当输入$NDK/ndk-build的时候,出现以下错误:

/workspace/aNDK_Test/obj/local/armeabi/objs/wiki_andktest_HelloJni/wiki_andktest_HelloJni.o.d:1: 
*** 多个目标匹配。 停止。
解决办法是:
进入目录:/workspace/aNDK_Test/obj/local/armeabi/objs/wiki_andktest_HelloJni
删除掉该目录下的所有内容,重新使用$NDK/ndk-build命令进行编译即可; 



在开发Android应用时,遇到 "fatal error: android/log.h: No such file or directory" 这个错误通常是因为编译环境缺少AndroidNDK开发包,或者没有正确设置环境变量。Android NDKAndroid平台上的本地开发工具包,它允许开发者使用C或C++语言来编写应用的本地部分。解决这个问题可以按照以下步骤进行: 1. 安装Android NDK: 确保你已经安装了Android NDK。如果还没有安装,可以从Android官方网站下载并安装最新版本的NDK2. 配置环境变量: 确保NDK的路径已经添加到系统的环境变量中。你可以在你的shell配置文件(例如`.bashrc`或`.zshrc`)中添加如下行来设置环境变量(路径根据你安装的NDK版本和位置进行相应修改): ``` export ANDROID_NDK_HOME=/path/to/your/ndk export PATH=$PATH:$ANDROID_NDK_HOME ``` 3. 在CMakeLists.txt中引入头文件: 如果你是使用CMake来构建你的项目,确保在CMakeLists.txt文件中使用`find_package(Java REQUIRED)`和`find_package(Threads REQUIRED)`等命令来确保所有的依赖项都被正确找到。此外,你还需要确保包含Android日志头文件的路径被正确指定,例如: ```cmake include_directories( ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROIDabis}/include ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROIDabis}/include/android ) ``` 4. 更新项目的gradle配置: 确保你的项目的build.gradle文件中有如下配置来指定使用NDK: ```gradle android { ... defaultConfig { ... externalNativeBuild { cmake { cppFlags "" } } } externalNativeBuild { cmake { path "CMakeLists.txt" } } } ``` 5. 清理并重新构建项目: 在Android Studio中,你可以通过Build > Clean Project和Build > Rebuild Project来清理和重新构建项目,或者在命令行中使用`./gradlew clean`和`./gradlew build`命令。 按照以上步骤操作后,应该可以解决这个编译错误。如果问题依旧存在,检查NDK版本是否与项目的NDK版本要求相匹配,或者尝试重新配置NDK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值