1

アプリケーションのJNIフォルダにC++ ファイルを書きました。NDKCygwin 1.7でWindowsシステムを使用しています。Cygwin で利用できる CURL ライブラリを参照したい。Android で JNI アプリケーションを作成する際に、外部の .h(libraries/header) ファイルを参照するにはどうすればよいですか? Android と C++ を組み合わせたプロジェクトを作成しました。しかし、私はCURLヘッダーファイルを参照しています. プロジェクトをビルドすると、致命的なエラーが発生します: curl/curl.h: No such file or directory issue.




4

4 に答える 4

0

そのlibcurl.aファイルを取得したら、curlのheadersフォルダーをコピーして( Cygwinからusr / include / curlに移動)、このフォルダーをプロジェクトのJNIフォルダーに追加することを忘れないでください。これにより、コンパイル中にヘッダーが認識されます。 。

これは、 Android.mkでも参照することを意味します:

libcurlライブラリの場合

LOCAL_SRC_FILES := libcurl.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/curl

そしてあなたのC++ファイルのために

LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/curl
LOCAL_WHOLE_STATIC_LIBRARIES := libcurl
于 2012-11-22T13:30:04.577 に答える
0

次の手順を実行します:

AndroidプロジェクトからC/C ++プロジェクトへの変換:プロジェクト名を右クリックし、[Androidツール]に移動して[ネイティブサポートを追加]をクリックします

外部.hファイルへのパスの追加:プロジェクト名を右クリックし、[プロパティ]に移動し、[C / C ++ General]の下に移動し、[パスとシンボル]に移動し、[含む]タブに移動して、。が含まれるフォルダーを追加します。 hファイルはです。求められた場合は、すべての言語と構成に追加することを忘れないでください。

また、Windowsを使用しているため、ビルドコマンド(プロジェクトプロパティの[C / C ++ビルド]セクションにあります)を「bashC:\ Development \ android-ndk-r8\ndk-」に変更する必要があると思います。 build.cmd "

于 2012-11-21T12:48:17.383 に答える
0

以下を に追加しますAndroid.mk

LOCAL_CFLAGS += -I$/PATH/TO/YOUR/curl.h
LOCAL_LDLIBS += -L$/PATH/TO/YOUR/libcurl.a.for.android -lcurl

cygwin にインストールしたlibcurl.aは android では使用できません。android を対象としたバージョンが必要です。持っていない場合は、自分で作成してください。

于 2012-11-22T09:37:45.277 に答える
0

素敵なチュートリアルですので是非ご利用ください。

プロジェクトを C / C++ ネイティブ プロジェクトに変換した後、この設定を変更することを忘れないでください。

コマンドをビルドするためのビルダー設定

bash C:\tools\android-ndk-r8b-windows\android-ndk-r8b\ndk-build

これは NDK の私のパスです。NDK パスに応じてこのパスを変更できます。

于 2012-11-21T12:35:48.677 に答える