【问题标题】:Setting environment variables in Eclipse to use with Android NDK在 Eclipse 中设置环境变量以与 Android NDK 一起使用
【发布时间】:2012-02-14 01:53:01
【问题描述】:

我在 Windows 上使用带有 Eclipse 和 cygwin 的 Android NDK。 在我的 makefile 中,我想在 eclipse 中使用环境变量设置预构建库的路径。 所以我做了以下事情:

在makefile中:

LOCAL_SRC_FILES = $(QCAR_SDK_ROOT)build/lib/$(TARGET_ARCH_ABI)/libQCAR.so
LOCAL_EXPORT_C_INCLUDES := $(QCAR_SDK_ROOT)build/include

但我得到错误:

Android NDK: ERROR:jni/Android.mk:QCAR-prebuilt: LOCAL_SRC_FILES points to a missing file    
/cygdrive/d/Development/Android/android-ndk-r7/build/core/prebuilt-library.mk:43: *** Android NDK: Aborting    .  Stop.
make: *** [all] Error 2
Android NDK: Check that jni//cygdrive/D/Development/Android/qcar-android-1-5-4-beta1/build/lib/armeabi/libQCAR.so exists  or that its path is correct   

尝试直接在makefile中定义变量,结果一样。

所以,很明显,这条路不是我想要的。如何设置正确的路径?

【问题讨论】:

    标签: eclipse makefile android-ndk cygwin environment-variables


    【解决方案1】:

    为什么不在 make 文件中指定路径? (注:刚刚注意到你试过了。)

    Using Cygwin with Android NDK

    该站点似乎表明 make 文件在 Eclipse 中无法正确运行,您应该通过 Windows 资源管理器运行。你是在 Eclipse 中运行它吗?试试这个,看看你是否仍然遇到问题。

    【讨论】:

      【解决方案2】:

      这是 Google 使用 NDK-9 修复的先前 NDK 构建的问题。 "更新 ndk-build 以支持 LOCAL_SRC_FILES 中的绝对路径。"

      在此处查看发行说明:http://developer.android.com/tools/sdk/ndk/index.html

      【讨论】:

        【解决方案3】:

        尝试使用LOCAL_PATH 变量。如文档(Android NDK 包中的docs/ANDROID-MK.htmlhere)所述:

        LOCAL_SRC_FILES

        这是将为您的模块构建的源文件列表。 只列出将传递给编译器的文件,因为 构建系统会自动为您计算依赖关系。

        请注意,源文件名都是相对于LOCAL_PATH 和 你可以使用路径组件

        另外,NDK 会提示您Check that jni//cygdrive/D/Development/Android/qcar-android-1-5-4-beta1/build/lib/armeabi/libQCAR.so exists or that its path is correct

        因此,我会尝试以下方法:

        LOCAL_PATH := /
        

        ...或者完全重置它:

        LOCAL_PATH :=
        

        【讨论】:

          【解决方案4】:

          您可以编辑eclipse.ini 文件并将其添加到那里。

          例如-DLOCAL_SRC_FILES=/home/user/.../

          或者声明一个path variable。这是在工作空间内的多个项目之间共享公共位置的便捷方式。

          希望对你有所帮助!

          【讨论】:

            【解决方案5】:

            Windows 上的最新 NDK 版本不需要 cygwin。更糟糕的是,他们无法识别 cygdrive 符号。你可以简单地使用

            QCAR_SDK_ROOT = D:/Development/Android/qcar-android-1-5-4-beta1
            

            更正 LOCAL_SRC_FILES 的绝对路径不适用于 ndk.r7,甚至对于 r9,ANDROID-MK.doc 也不鼓励在那里使用绝对路径。

            【讨论】:

              猜你喜欢
              • 2016-04-14
              • 2020-06-24
              • 1970-01-01
              • 2013-01-29
              • 2014-05-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多