4

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

4

1 に答える 1

2

私はこの解決策を試しましたが、あなたが言及した問題を解決しました: How to fix problem of incompatibility between GCC 4.6 and Android 2.3 (Gingerbread) .

しかし、すべてコンパイルされた後、私はリンクできません。Linux mint で gcc-4.6 を使用して 2.2 をコンパイルしています。

とにかくそれはあなたを助けるはずです。

于 2012-01-14T10:43:03.237 に答える