ubuntu 11.10でAndroid 2.3をビルドしようとすると問題に直面しています
最初のエラー -
Frameworks/base/libs/utils/RefBase.cpp:483:67: エラー: 'const android::RefBase::weakref_impl' を 'this' 引数として 'void android::RefBase::weakref_impl::trackMe(bool, bool)' は修飾子を破棄します [-fpermissive]
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] エラー 1
make: *未完成のジョブを待っています....
私はこれを修正することで解決しました、
Frameworks/base/libs/utils/Android.mk LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
しかし、上記の変更を行った後、新しいエラーが発生しました。
ホスト共有ライブラリ: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)
ホスト C++: libutils <= Frameworks/base/libs/utils/Asset.cpp
ホスト C++: libutils <= Frameworks/base/libs/utils/AssetDir.cpp
ホスト C++: libutils <= Frameworks/base/libs/utils/AssetManager.cpp
g++: エラー: 認識できないオプション '--fpermissive'</p>
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Asset.o] エラー 1 make: *未完了のジョブを待っています....
g++: エラー: 認識されないオプション '--fpermissive' g++: エラー: 認識されないオプション '--fpermissive'</p>
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetDir.o] エラー 1
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o]
ビルド構成: Ubuntu 11.10 gcc バージョン 4.4 と 4.6 の両方で試しましたが、何もうまくいきません。
ビルドに使用されるコマンドオプション、
$. ビルド/envsetup.sh
$ランチ 1
$make -j4
GCC - バージョン
gcc -v 組み込み仕様の使用。COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper ターゲット: i686-linux-gnu 構成: ../src/configure -v --with-pkgversion=' Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ ,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included -gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.
-------------------------------------------------- -------------- 編集 2-
より良いペースで動いているのではなく、gccバージョンに問題があると思いますが、今、このエラーが発生しています-cmd-make CC=gcc-4.4 CXX=g++-4.4
エラー -host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1