我在ubuntu 11.10 下编译android4.0 出现下面的问题,求助各位大侠帮解决一下:)==================================================
ptions(v8::Local<v8::Value>, bool&):external/webkit/Source/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp:117: error: undefined reference to 'v8::Value::ToInt32() const'
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8Int16ArrayCustom.o): in function WebCore::toV8(WebCore::Int16Array*):external/webkit/Source/WebCore/bindings/v8/custom/V8Int16ArrayCustom.cpp:62: error: undefined reference to 'v8::Object::SetIndexedPropertiesToExternalArrayData(void*, v8::ExternalArrayType, int)'
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8SQLTransactionCustom.o): in function WebCore::V8SQLTransaction::executeSqlCallback(v8::Arguments const&):external/webkit/Source/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp:71: error: undefined reference to 'v8::Object::GetPropertyNames()'
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8SQLTransactionSyncCustom.o): in function WebCore::V8SQLTransactionSync::executeSqlCallback(v8::Arguments const&):external/webkit/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:71: error: undefined reference to 'v8::Object::GetPropertyNames()'
collect2: ld returned 1 exit status
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so] Error 1
make: *** Waiting for unfinished jobs....

解决方案 »

  1.   

    貌似没有把V8编进去, 你先make一下 libv8看能否成功?make libv8源码位于 /external/v8顺便看看makefile的配置是否配对了。
      

  2.   

    你用11.10的话,必须把gcc从4.5降回4.4,否则会报错。我现在用的就是11.10,4.0编译OK。
    以下供参考:
    sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilibcd /usr/bin
    sudo ln -sf cpp-4.4 cpp
    sudo ln -sf gcc-4.4 gcc
    sudo ln -sf g++-4.4 g++
      

  3.   

    我是用的gcc/g++ 4.4, 而且也做了相关的链接,不过我做了make clean 后,编译到是没有什么问题了,但最后在下面的情况就结束了,难道就编译完了??:external/valgrind/tsan/ts_valgrind_intercepts.c:2371: warning: pointer targets in passing argument 2 of 'Replace_memcmp' differ in signedness
    external/valgrind/tsan/ts_replace.h:124: note: expected 'const unsigned char *' but argument is of type 'const char *'
    external/valgrind/tsan/ts_valgrind_intercepts.c: In function '_vgwZZ_Za_AnnotateFlushState':
    external/valgrind/tsan/ts_valgrind_intercepts.c:2493: warning: unused parameter 'unused_file'
    external/valgrind/tsan/ts_valgrind_intercepts.c:2493: warning: unused parameter 'unused_line'
    external/valgrind/tsan/ts_valgrind_intercepts.c: In function '_vgwZZ_Za_AnnotateFlushExpectedRaces':
    external/valgrind/tsan/ts_valgrind_intercepts.c:2609: warning: unused parameter 'file'
    external/valgrind/tsan/ts_valgrind_intercepts.c:2609: warning: unused parameter 'line'
    target SharedLib: vgpreload_tsan-arm-linux (out/target/product/generic/obj/SHARED_LIBRARIES/vgpreload_tsan-arm-linux_intermediates/LINKED/vgpreload_tsan-arm-linux.so)
    target Symbolic: vgpreload_tsan-arm-linux (out/target/product/generic/symbols/system/lib/valgrind/vgpreload_tsan-arm-linux.so)
    target Unstripped: vgpreload_tsan-arm-linux (out/target/product/generic/obj/lib/vgpreload_tsan-arm-linux.so)
    Generated: (out/target/product/generic/android-info.txt)
    Installed file list: out/target/product/generic/installed-files.txt
    Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
    Install system fs image: out/target/product/generic/system.img
    Target ram disk: out/target/product/generic/ramdisk.img
    Target userdata fs image: out/target/product/generic/userdata.img