繁体   English   中英

将适用于Android的OpenCV库导入Eclipse后出现错误

[英]Error after importing OpenCV Library for Android into Eclipse

在Eclipse中导入OpenCV库后,我遇到了一个错误。 我想我做了我应该做的事,但也许我错过了一些事情。 样本没有错误,但我的应用程序以及OpenCV Library-2.4.10都没有错误。

这是我的输出:

问题

Description Resource    Path    Location    Type
make: *** Android NDK: Aborting...    .  Stop.  Cammect     line 209, external location: /home/crash-id/Development/SDK/android-ndk-r10c/build/core/add-application.mk  C/C++ Problem
make: *** Android NDK: Aborting...    .  Stop.  OpenCV Library - 2.4.10     line 209, external location: /home/crash-id/Development/SDK/android-ndk-r10c/build/core/add-application.mk  C/C++ Problem
make: *** Android NDK: Aborting...    .  Stop.  src     line 209, external location: /home/crash-id/Development/SDK/android-ndk-r10c/build/core/add-application.mk  C/C++ Problem
make: *** No rule to make target `clean'.  Stop.    RemoteSystemsTempFiles          C/C++ Problem

安慰:

22:21:19 **** Clean-only build of configuration Default for project OpenCV Library - 2.4.10 ****
/home/crash-id/Development/SDK/android-ndk-r10c/ndk-build clean 
Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml    
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk    
/home/crash-id/Development/SDK/android-ndk-r10c/build/core/add-application.mk:209: *** Android NDK: Aborting...    .  Stop.

22:21:19 Build Finished (took 132ms)

错误日志:

eclipse.buildId=4.4.1.M20140925-0400
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

org.eclipse.jdt.core
Error
Sun Feb 08 22:21:23 EET 2015
Invalid ZIP archive: /home/crash-id/Development/SDK/adt-bundle-linux-x86_64-20140702/sdk/extras/android/support/v7/appcompat/bin/android-support-v7-appcompat.jar
eclipse.buildId=4.4.1.M20140925-0400
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

org.eclipse.cdt.core
Error
Sun Feb 08 21:45:35 EET 2015
Error: Cannot run program "/ndk-build": Unknown reason

java.io.IOException: Cannot run program "/ndk-build": Unknown reason
    at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:349)
    at org.eclipse.cdt.utils.spawner.Spawner.<init>(Spawner.java:91)
    at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:91)
    at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:194)
    at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:263)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:128)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:72)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:753)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

eclipse.buildId=4.4.1.M20140925-0400
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

org.eclipse.cdt.core
Error
Sun Feb 08 21:45:35 EET 2015
Error: Cannot run program "/ndk-build": Unknown reason

java.io.IOException: Cannot run program "/ndk-build": Unknown reason
    at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:349)
    at org.eclipse.cdt.utils.spawner.Spawner.<init>(Spawner.java:91)
    at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:91)
    at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:194)
    at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:263)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:128)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:72)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:753)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

在此输入图像描述

从错误日志中,您的Android NDK路径似乎错误。 您可以通过在Eclipse中指定Android NDK ndk-build的完整路径来更正此问题。

首先,创建一个Build Variable 在Eclipse中,转到Window -> Preferences -> C/C++ -> Build -> Build Variables 添加一个引用Android NDK ndk-build文件的完整路径的新变量(您可以将其命名为NDK_ROOT或其他名称)。

然后,单击“ Apply ,然后单击“ EnvironmentPreferences ->“ C/C++ ->“ Build ->“ Environment ),然后添加刚创建的变量。 单击“ Apply然后OK

之后,右键单击您的Open-CV-Library,然后选择Properties 导航到C/C++ Build > Environment并在其中添加新创建的变量。 单击“ Apply然后OK

这应该工作。 我就是这样固定我的。

我希望这有帮助。

编辑

另一个解决方法可能是使用2.4.9版而不是2.4.10版,因为OpenCV网站上的当前说明适用于2.4.9版。

在我将OpenCV库从2.4.9改为2.4.10后,错误消失了。 在使用.mk文件创建jni文件夹后,我的应用程序错误消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM