7

エラーでcurlのコンパイルに行き詰まっています:

$ndk-build
Android NDK: Building for application 'curl' 
Android NDK: Trying to define local module 'curl' in sources/curl//jni/Android.mk. 
Android NDK: But this module was already defined by sources/curl//jni/Android.mk. 
build/core/build-module.mk:34: *** Android NDK: Aborting. . Stop.

依存関係をコンパイルするために使用した手順を誰かが提供できますか?

4

3 に答える 3

1

プリコンパイルされた静的ライブラリを NDK プロジェクトに含めようとすると、同様のエラーが発生しました。プロジェクトの Android.mk ファイルを編集して、行$(call import-module,<MY_MODULE_NAME>)をファイルの最後 ( の後include $(BUILD_SHARED_LIBRARY)) に移動することで修正しました。

于 2012-04-05T05:05:40.497 に答える
0

私の場合、gnustl_shared を必要とする共有ライブラリを追加していたので、それを Android.mk ファイルに追加しました。

include $(CLEAR_VARS)
LOCAL_MODULE := libgnustl_shared
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_STATIC_LIBRARY)
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../native_libs/$(TARGET_ARCH)/libgnustl_shared.so
include $(PREBUILT_SHARED_LIBRARY)

私が得た競合はこれでした:

Android NDK: jni/Android.mk でローカル モジュール 'gnustl_shared' を定義しようとしています。
Android NDK: ただし、このモジュールは c:/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/Android.mk で既に定義されています。

その理由は、すでにスタティック ライブラリとして使用していたためです。これはApplication.mkにありました:

APP_STL := gnustl_static

解決策は、それを に変更してから、 Android.mk からセクションAPP_STL := gnustl_sharedを削除することでした。LOCAL_MODULE := libgnustl_shared

于 2015-07-31T08:58:02.550 に答える