Giter VIP home page Giter VIP logo

Comments (9)

darind avatar darind commented on July 4, 2024

You can try searching the exported symbols from the static library using nm:

nm -gAC libv8.a | grep "v8::platform::NewDefaultPlatform"

Normally you should see the following output:

libv8.a:default-platform.o:0000000000000000 T v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::__Cr::unique_ptr<v8::TracingController, std::__Cr::default_delete<v8::TracingController> >)

As you can see there are some different namespaces used in this build:

std::__Cr::unique_ptr

instead of

std::__ndkCr::unique_ptr

The error message seems to indicate that you are not using the custom libc++ in your project that was used during the v8 build. So make sure that you link against this custom STL in order to successfully compile. You can take a look at how this is achieved in the android runtime CMakeLists.txt

from android-v8.

guzhonL avatar guzhonL commented on July 4, 2024

Thanks very very very much for replying!!!
I copied v8/buildtools/third_party/libc++/trunk/include (libc++) into my own project, and added libc++ to CMakeLists.txt as android-runtime project does. But there is another problem:

error: unknown type name 'uint8_t' typedef uint8_t jboolean; /* unsigned 8 bits /
error: unknown type name 'int8_t' typedef int8_t jbyte; /
signed 8 bits */

i included jni.h in my code already.It seems that stdint.h included from jni.h doesn't work!

from android-v8.

darind avatar darind commented on July 4, 2024

Make sure you are using the latest NDK r20.

from android-v8.

guzhonL avatar guzhonL commented on July 4, 2024

Thanks a lot!!
But i still have problems even used the latest NDK r20.it was only building failed for 'armeabi-v7a' but 'arm64-v8a' was ok;
the failed info as follows:

/src/main/libs/armeabi-v7a/libv8.a(locale.o):locale.cpp:function std::__Cr::ctype_byname<wchar_t>::do_is(unsigned long, wchar_t) const: error: undefined reference to 'iswblank'
/src/main/libs/armeabi-v7a/libv8.a(locale.o):locale.cpp:function std::__Cr::ctype_byname<wchar_t>::do_is(wchar_t const*, wchar_t const*, unsigned long*) const: error: undefined reference to 'iswblank'/src/main/libs/armeabi-v7a/libv8.a(locale.o):locale.cpp:function std::__Cr::__libcpp_mb_cur_max_l(__locale_t*): error: undefined reference to '__ctype_get_mb_cur_max'
/src/main/libs/armeabi-v7a/libv8.a(locale.o):locale.cpp:function std::__Cr::__libcpp_mb_cur_max_l(__locale_t*): error: undefined reference to '__ctype_get_mb_cur_max'

from android-v8.

darind avatar darind commented on July 4, 2024

Did you link your project against libandroid_support.a? This is necessary only when building for armeabi-v7a or x86. The 64 bit flavours do not require this static library.

from android-v8.

guzhonL avatar guzhonL commented on July 4, 2024

I definitely linked my project against 'libandroid_support.a'. And I try building my project with libv8.a downloaded from android-runtime project, it build successfully.

nm -gAC libv8.a | grep "iswblank"
when run this commond with my own libv8.a, the output as follows:
libv8.a:locale.o: U iswblank
but it output nothing with the downloaded libv8.a from android-runtime project

from android-v8.

darind avatar darind commented on July 4, 2024

Could you send a repro repository so that I can take a look?

from android-v8.

guzhonL avatar guzhonL commented on July 4, 2024

I rebuild libv8.a with the latest NDK r20 and the problem has gone. Thanks!!

from android-v8.

marklove5102 avatar marklove5102 commented on July 4, 2024

Could you send a repro repository so that I can take a look?

I can reproduce this problem under linux using libv8.so

from android-v8.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.