尝试为Android示例构建OpenCV时运行构建器“CDT Builder”时出错

5gfr0r5j  于 2023-06-04  发布在  Android
关注(0)|答案(5)|浏览(309)

大家好,我正在学习在Android中使用openCV,我已经按照这里给出的说明进行了操作
但是当我试图编译时,我只得到
01:50:14Auto Build of configuration Default for project org.opencv.samples.fd.FdActivity“C:\Android\android-ndk-r8\ndk-build.cmd”安装:libdetection_based_tracker.so => libs/armeabi-v7a/libdetection_based_tracker.so
01:50:14构建完成(耗时184 ms)
我也得到一个错误
生成期间发生错误。在项目“org.opencv.samples.fd. FdActivity”上运行构建器“CDT Builder”时出错。生成项目org.opencv.samples.fd.FdActivity配置时出现内部错误Default java.lang.NullPointerException生成项目org.opencv.samples.fd.FdActivity配置时出现内部错误Default java.lang.NullPointerException
以前有人遇到过这个问题吗?请帮我解决这个问题
谢谢你

pkmbmrz7

pkmbmrz71#

尝试
项目属性>C/C构建>工具链编辑器
当前工具链:Android GCC
当前构建者:Android Builder
项目属性>C/C
生成
(取消选中)使用默认生成命令
生成命令:ndk-build
(取消选中)自动生成Makefile

jgwigjjp

jgwigjjp2#

您可能已经重命名了项目,而Eclipse忘记重命名“Refresh Policy”。

只需手动更新“项目属性-> C/C++构建->刷新策略”就解决了我的问题

顺便说一句,ADT在这种情况下有一些非常糟糕的错误描述。

cvxl0en2

cvxl0en23#

我可能有同样的问题,尝试ndk-build -B重建所有的东西,看看你是否仍然有错误,如果没有错误,你的ndk-build没有问题。试着在没有安装CDT的情况下运行你的android应用程序,如果这有效,至少我们可以使用comand line来构建c++部分代码。
但是CDT还是不太好用,在我按照opencv文档安装CDT之后,我得到了很多错误,在路径中添加cygwin和gcc的东西就解决了大部分问题。但最奇怪的是,我这里有一个错误。
在面部检测样本中,.cpp部分

catch(cv::Exception e)
{
    LOGD("nativeCreateObject catched cv::Exception: %s", e.what());

它总是说符号“e”不能被解析。
但是当我包含opencv的东西时没有错误。即使当我尝试将cv::Exception e放在catch()之外时

odopli94

odopli944#

这些对我有用:

Build command: ndk-build
(uncheck) generate Makefiles automatically
kqlmhetl

kqlmhetl5#

我是Eclipse的新手,我正在为C++开发设置环境。我创建了一个“hello_world”项目,并首次尝试构建它。然而,我遇到了一个错误,说CMake没有找到。为了解决这个问题,我安装了CMake并尝试再次构建项目,然后发生了这个错误:

Errors occurred during the build. Errors running builder 'CDT Core Builder' on project 'hello_world'. Resource '/hello_world/build/default/compile_commands.json' does not exist. Resource '/hello_world/build/default/compile_commands.json' does not exist. Resource '/hello_world/build/default/compile_commands.json' does not exist. Resource '/hello_world/build/default/compile_commands.json' does not exist.

幸运的是,我找到了一个解决方案,单击工具栏,然后选择Project-> C/C ++ Index-> Freshen All Files。执行此操作并再次运行项目后,错误消失了。

相关问题