指示:
./configure --host = arm-linux-gnueabihf --prefix = / home / ec2-user / iperf_install / CC = arm-linux-androideabi-gcc CXX = arm-linux-androideabi-g ++ CFLAGS = -static CXXFLAGS =-静的
main.c:62:エラー:「__ gnu_mcount_nc」への未定義の参照
main.c:124:エラー:「__ gnu_mcount_nc」への未定義の参照
main.c:131:エラー:「__ gnu_mcount_nc」への未定義の参照
cjson.c:50:エラー:「__ gnu_mcount_nc」への未定義の参照
collect2:エラー:ldが1つの終了ステータスを返しました
私はAndroid用のiperf3バイナリをコンパイルしようとしています。 android用のiperf3バイナリをコンパイルするための具体的な情報がないことに非常に失望しています。 誰か助けてもらえますか?
ありがとう、
-Hardik
cjson.c:50:エラー:「__ gnu_mcount_nc」への未定義の参照
cjson.c:56:エラー:「__ gnu_mcount_nc」への未定義の参照
cjson.c:72:エラー:「__ gnu_mcount_nc」への未定義の参照
cjson.c:85:エラー:「__ gnu_mcount_nc」への未定義の参照
iperf3はAndroidを公式にサポートしておらず、これを実行するためのリソースがありません。 したがって、「ヘルプが必要」としてタグ付けします。
iperf2はAndroidを公式にサポートしていることに注意してください。 おそらくそれはより適切なプラットフォームかもしれませんか?
私は同じ問題に直面していますが、これについて何か提案はありますか?
目的のために、ConfigureスクリプトをCMakeに置き換えました。 このコンパイルはAndroid用にできると確信していますが、現在はiOS用にコンパイルしています。
https://github.com/palmerc/iperf
[アップデート]
HAVE_ENDIAN1の設定
cmake -D ANDROID_PLATFORM = android-21 -G Ninja -D CMAKE_TOOLCHAIN_FILE = ../ android-ndk / android-ndk-r16b / build / cmake / android.toolchain.cmake ../iperf
cmake--build。
働いた。 また、-D ANDROID_ABI = arm64-v8aでテストしました
誰かが望むなら、私はプルリクエストとしてCMakeビルドを提出することができます
または、src / Makefile.inを編集して、iperf3_profile_CFLAGSおよびiperf3_profile_LDFLAGSから「-pg」を削除します。
この問題の3つの回避策を、最小の労力から最大の労力の順に示します。
iperf3プロファイル実行可能ファイルのリンクが失敗した時点で、「通常の」iperf3実行可能ファイルはおそらくすでに作成されています...少なくとも私のシステムにはあります。 したがって、makeプロセスからのエラー終了(およびビルドホストでの少しの無駄な作業)を受け入れる場合は、何もする必要がない可能性があります。
configure
ステップの後、 src/Makefile
に次のような定義があります。
noinst_PROGRAMS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT) \
iperf3_profile$(EXEEXT)
このように編集すると、プロファイルされたiperf3のビルドが無効になります。
noinst_PROGRAMS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT)
src/Makefile.am
を編集して、次のように行の読みを変更した場合:noinst_PROGRAMS = t_timer t_units t_uuid iperf3_profile
このように見えるために:
noinst_PROGRAMS = t_timer t_units t_uuid
次に、 ./bootstrap.sh
実行します。これにより、プロジェクトのMakefileが再生成され、プロファイルされたiperf3実行可能ファイルが(そのソースツリー内で)永続的に除外されます。
この時点で、これをFAQ項目として記述し、問題をクローズする傾向があります。
また:
./configure --disable-profiling --host = arm-linux-androideabi
最も参考になるコメント
また:
./configure --disable-profiling --host = arm-linux-androideabi