$ NDK/build/tools/makestandalone- toolchain.shスクリプトで作成されたスタンドアロンNDKツールチェーンを使用して、Android用プロトコルバッファを構築するのに問題があります。右、スタンドアロンNDKツールチェーンを使用したプロトコルバッファの作成
のpthreadライブラリーが欠落していることを意味すると思わlibtool: link: g++ -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DNDEBUG -o protoc main.o ./.libs/libprotobuf.a ./.libs/libprotoc.a /home/sizeak/AudioFingerprinting/ProtoBuf/jni/src/.libs/libprotobuf.a -lz -lc
./.libs/libprotoc.a(plugin.pb.o): In function `GoogleOnceInit':
/home/sizeak/AudioFingerprinting/ProtoBuf/jni/src/./google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
、しかしSYSROOTはNDKスクリプトによって作成されたので、すべてのものを含める必要があります。私がいる問題は、このですか?私はどこかで、スタンドアロンのツールチェーンを使用しているときにpthreadを明示的にリンクする必要はないと読んでいます。
./configure --host=arm-eabi --with-sysroot=$SYSROOT CC=$CC --enable-cross-compile --with-protoc=protoc LIBS="-lc"
ここで、環境変数はスクリプトによって作成されたsysrootを指すように設定されています。
私はこの問題をネット上のいくつかのページで見てきましたが、誰も回答を投稿していないようです。誰も助けることができますか?
あなたのAndroid AppをProtoBufにしていて、共有ライブラリを作成してこのAndroid Appで使用しようとしていますか?あなたはandroid.mkファイルのpthreadオプションについて言及していますか? – Raulp
ProtoBufは、スタンドアローンのツールチェインオプションを発見する前に、ndk-buildを使ってライブラリをビルドしようとするプロジェクトでした。 –