Comments (9)
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.
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.
Make sure you are using the latest NDK r20.
from android-v8.
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.
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.
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.
Could you send a repro repository so that I can take a look?
from android-v8.
I rebuild libv8.a with the latest NDK r20 and the problem has gone. Thanks!!
from android-v8.
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 (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-v8.