問題タブ [ndk-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
420 参照

android-ndk - Androidでalljoynサンプルチャットのビルドに失敗しました

NDK を使用して、android で alljoyn のサンプル アプリケーション チャット (cpp 版) をビルドしたいと考えています。しかし、「ajn :: BusObjectのtypeinfo」への未定義の参照というエラーが発生しました。alljoyn ライブラリ パスを確認したところ、libajdaemon.a と liballjoyn.a が見つかりました。NDK のバージョンは r9c です。alljoyn android SDK のバージョンは 3.4.6 です。誰かが私を助けることができますか?ありがとう!

詳細情報は次のとおりです。 soname,libChat.so -shared --sysroot=/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android-17/arch-arm ./obj/local/armeabi/objs-debug/Chat/Chat_jni .o ./obj/local/armeabi/libstdc++.a -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android-17/arch-arm/usr/lib -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android -8/arch-arm/usr/lib -L../..//lib -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/sources/cxx-stl/gnu-libstdc++/libs/armeabi -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi -L./libs ../..//lib/BundledDaemon.o -lajdaemon -lalljoyn -llog -lz -ldl -lssl -lcrypto -lm -lc -lstdc++ -lgcc -lgnustl_static -lstdc++ -lc -lm -o ./obj/local/armeabi/libChat.so /Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/.. /lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/Chat/Chat_jni .o: ChatObject の関数 typeinfo:Chat_jni.cpp(.data.rel.ro._ZTI10ChatObject+0x8): エラー: 'ajn::BusObject の typeinfo' collect2 への未定義の参照: ld が 1 つの終了ステータスを返しました/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/. ./../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/Chat/Chat_jni.o: ChatObject:Chat_jni.cpp(. data.rel.ro._ZTI10ChatObject+0x8): エラー: 「ajn::BusObject の typeinfo」への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/. ./../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/Chat/Chat_jni.o: ChatObject:Chat_jni.cpp(. data.rel.ro._ZTI10ChatObject+0x8): エラー: 「ajn::BusObject の typeinfo」への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました

0 投票する
1 に答える
1310 参照

android - デフォルトですべてのシンボルをデバッグ ビルドのみにエクスポートするように Android.mk コンパイルを設定するにはどうすればよいですか?

単体テストを実行したいアプリにネイティブ共有ライブラリ (.so) があります。特に、.so には、単体テストから直接呼び出したい関数がいくつかあります。ただし、これらの機能をリリース バージョンで表示することは望ましくありません。

私が現在これを行うことを計画している方法は、デバッグ用にビルドするときに -fvisibility=hidden コンパイル オプションを削除することです (NDK_DEBUG=1)。ただし、 Android.mk ファイルからこれを行う方法がわかりません。

これが私の現在の Android.mk です(少し簡略化されています):

ありがとう!

0 投票する
0 に答える
4985 参照

android - ndk-build- "unknown type name 'time_t' " の実行中にエラーが発生しました

JNI を使用して HelloWorld アプリを試しましたが、正常に動作しています。次に、ヘッダー ファイルを持つように変更しました。 custom_header.h の内容は次のとおりです。

HelloJNI.c の中身は

/home/sattu/workspace_jni/AndroidHelloJNI/jni ディレクトリで「ndk-build」を実行すると、次のエラーが発生します

何が欠けているでしょうか?

0 投票する
1 に答える
1307 参照

android - Android makefile の循環依存関係の解決

静的ライブラリから共有ライブラリを作成する必要があるプロジェクトに取り組んでいます。私たちが直面している問題は、静的ライブラリに循環依存関係が含まれていることです。以下は私のmakefileのサンプルです:

ndk-build V=1 を指定すると、共有ライブラリを作成するときに -Wl,--start-group と -Wl,--end-group がコンパイルから削除されていることが出力でわかります。それで、明らかな他のフラグはありますか?私は同じものを見逃していますか?

Windows 7 64 ビットで NDK R9 を使用しています。

0 投票する
0 に答える
2032 参照

android - alsa-utils + ndk-build が機能しない

ソースコード alsa-utils-1.0.27.2 をhttp://www.alsa-project.org/main/index.php/Main_Pageから持っています。Android にビルドするために必要です。

user@vbUbuntu1204:~/Android-alsa/alsa-utils$ cat jni/Android.mk

user@vbUbuntu1204:~/Android-alsa/alsa-utils$ cat jni/Application.mk

user@vbUbuntu1204:~/Android-alsa/alsa-utils$ ../../android-ndk-r9d/ndk-build

/home/user/android-ndk-r9d/build/core/build-all.mk:89: Android NDK: 警告: このプロジェクトでビルドするモジュールがありません!

これを修正するには?

0 投票する
1 に答える
3636 参照

android-ndk - 警告: ターゲット Android Makefile のコマンドをオーバーライドしています

C++ コンパイラ (G++) を使用して C ファイルをコンパイルしようとしたため、NDK r9d を使用して C++ コードをビルドする際に問題が発生しました。次の警告が表示されます。

C++ 11 でコンパイルする必要がなく、C ファイルが GCC でコンパイルされる前は問題はありませんでしたが、以前は を使用していたためLOCAL_CPP_EXTENSION := .cpp .c、この警告が表示されます (C ファイルの場合のみ)。

他の誰かが同じ問題を抱えていることがわかりました (ターゲット Android Makefile のコマンドのオーバーライド) が、何の回答も得られませんでした。

これが私のファイルです:

NDK r9d を使用し、G++ 4.8 と C++ 11 を有効にしてコンパイルします。ご協力いただきありがとうございます。

0 投票する
1 に答える
1036 参照

android - Android ndk-build エラー make.exe: *** create_child_process: DuplicateHandle(In) に失敗しました (e=6)

私は Android に比較的慣れていないので、ndk-build コマンドの使用に問題があります。Windows 7 64 ビットで NDK r9d を使用しています。

Android プロジェクト (makefile など) を作成し、ndk-build.cmd を実行するプロセスを作成するビルド システムを実行すると (Android プロジェクトで呼び出されていることを確認しました)、次のエラーが表示されます。

make.exe: *** create_child_process: DuplicateHandle(In) に失敗しました (e=6)

しかし、ビルド システム (または任意の Android プロジェクト) によって作成された同じ Android プロジェクトの Windows コマンド コンソールで ndk-build.cmd を「手動で」実行すると、すべてが機能します。

私はここのようないくつかの関連する質問を見つけました:

https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014825836

https://cygwin.com/ml/cygwin/2004-09/msg01506.html

しかし、私が見つけたのは、「手動で」使用するとndk-buildが正常に動作するため、そうではないmakeバージョンの問題であると言っているか、標準入力の処理に関連していると言っています。ここでの問題です。さらに、私が見つけたすべてのアンサーは同様のエラーに関連していましたが、まったく同じではありませんでした:

process_easy: DuplicateHandle(In) に失敗しました (e=6)

誰かが私のエラーメッセージの意味を知っているかもしれません。それは Android ndk-build に固有のものではないと思いますが、多分。

読んでくれてありがとう(英語の間違いがあったらすみません、私はフランス人で英語が流暢ではありません)

0 投票する
1 に答える
4475 参照

android - Ndk-build を使用して実行可能ファイルを静的にビルドする方法は?

Windows で Android システム ライブラリを静的にリンクする実行可能ファイルをビルドしようとしています。次のコマンドを使用します。

オプションを追加する必要があるかもしれません:

出力ファイルは、ビルド後に必要なものです。
ただし、実行可能ファイルをビルドする場合は、jni\Android.mkjni\Application.mkをndk-build経由で使用します。このオプションは次のとおりです。

追加する必要があり、どの.mkファイルを選択すればよいですか?
追加してみます:</p>

jni\Andorid.mkに入れますが、出力は変更されません。

.mk問題を解決するには?