For version 6.8, v8_snapshot should be built by default but it isn't . The 
following configure solves the problem. Give it a try. 
Edit file: " /out.gn/android.arm.release/args.gn"
'''
is_component_build = false
is_debug = false
symbol_level = 1
target_cpu = "arm"
target_os = "android"
use_goma = false
v8_android_log_stdout = true
v8_static_library = true
v8_use_external_startup_data = false
'''
Save and compile. 


在 2018年8月20日星期一 UTC+8下午2:51:46,Coulson Chen写道:
>
> Yes, using  libv8_snapshot.a instead of  libv8_nosnapshot.a can work . I 
> hava a another problem : building with v8 6.8 version can't generate 
> snapshot library while 6.5 can generate, I using the same config and as the 
> official wiki said, snapshot is built by default.
>
> 在 2018年8月17日星期五 UTC+8下午3:40:23,young louis写道:
>>
>> Well, there is no linker problem if v8_snapshot is used. Linker problem 
>> for v8_nosnapshot only. 
>>
>> As for the libs order, I  used a combined library created by the 
>> following commands bellow. Order had been adjusted. Not working.
>>
>>
>> ar -rcsD libv8_base.a ../v8_base/*.o
>>> ar -rcsD libv8_base.a ../v8_libplatform/*.o
>>> ar -rcsD libv8_base.a ../v8_libbase/*.o
>>> ar -rcsD libv8_base.a ../v8_libsampler/*.o
>>> ar -rcsD libv8_base.a ../src/inspector/inspector/*.o
>>
>>
>>
>> Zac Hansen <xax...@gmail.com> 于2018年8月16日周四 上午2:09写道:
>>
>>> you can always just throw all the libs at the linker twice, too, if 
>>> you're not sure the order..
>>>
>>> On Wednesday, August 15, 2018 at 6:04:49 AM UTC-7, ibon wrote:
>>>>
>>>> I avoid linker problems by properly sorting the libraries.
>>>> The linker is sequential, and will fail if a given symbol is not 
>>>> present by the time it is referenced, regardless it is in another to link 
>>>> lib.
>>>>
>>>> This is a sort order that worked for me.
>>>>  v8_base v8_libplatform v8_libbase v8_libsampler v8_snapshot 
>>>> v8_inspector
>>>>
>>>> Other than that, I now make one single lib file will all v8 code in it. 
>>>> Not only to avoid linker errors, but to make my life easier by 
>>>> substantially reducing my mk file size.
>>>>
>>>> hope this helps.
>>>>
>>>>
>>>> El martes, 14 de agosto de 2018, 9:02:07 (UTC+2), young louis escribió:
>>>>>
>>>>> I have a similar problem when embeding V8  6.8 to android.  An error 
>>>>> is reported while linking libv8_nosnapshot.a, briefly 
>>>>>
>>>>>
>>>>> *../../src/isolate.cc:0: error: undefined reference to 'vtable for 
>>>>> v8::internal::SetupIsolateDelegate'*
>>>>>
>>>>> Can anyone help, please.
>>>>>
>>>>> 在 2018年4月13日星期五 UTC+8下午6:37:57,Coulson Chen写道:
>>>>>>
>>>>>> I build v8 static libraries for android successfully(using V8 6.5), 
>>>>>> and then embed it in andoid app(using the hello-world.cc demo from 
>>>>>> official 
>>>>>> wiki. Android studio 3.1,Cmake),but error  like the follow takes place 
>>>>>> while building the APK
>>>>>> Build command failed.
>>>>>> Error while executing process 
>>>>>> /usr/local/v8/v8/third_party/android_tools/sdk/cmake/3.6.4111459/bin/cmake
>>>>>>  
>>>>>> with arguments {--build 
>>>>>> /mnt/share/V8Wrapper/app/.externalNativeBuild/cmake/debug/armeabi-v7a 
>>>>>> --target native-lib}
>>>>>> [1/2] Building CXX object 
>>>>>> CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
>>>>>> [2/2] Linking CXX shared library 
>>>>>> ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so
>>>>>> FAILED: : && 
>>>>>> /usr/local/v8/v8/third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
>>>>>>   
>>>>>> --target=armv7-none-linux-androideabi 
>>>>>> --gcc-toolchain=/usr/local/v8/v8/third_party/android_ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
>>>>>>  
>>>>>> --sysroot=/usr/local/v8/v8/third_party/android_ndk/sysroot -fPIC 
>>>>>> -isystem 
>>>>>> /usr/local/v8/v8/third_party/android_ndk/sysroot/usr/include/arm-linux-androideabi
>>>>>>  
>>>>>> -D__ANDROID_API__=16 -g -DANDROID -ffunction-sections -funwind-tables 
>>>>>> -fstack-protector-strong -no-canonical-prefixes -march=armv7-a 
>>>>>> -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb 
>>>>>> -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++11 
>>>>>> -frtti -fexceptions -O0 -fno-limit-debug-info  
>>>>>> -Wl,--exclude-libs,libgcc.a 
>>>>>> -Wl,--exclude-libs,libatomic.a --sysroot 
>>>>>> /usr/local/v8/v8/third_party/android_ndk/platforms/android-16/arch-arm 
>>>>>> -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings 
>>>>>> -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a 
>>>>>> -L/usr/local/v8/v8/third_party/android_ndk/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a
>>>>>>  
>>>>>> -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro 
>>>>>> -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o 
>>>>>> ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so
>>>>>>  
>>>>>> CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  
>>>>>> /usr/local/v8/v8/third_party/android_ndk/platforms/android-16/arch-arm/usr/lib/liblog.so
>>>>>>  
>>>>>> -landroid ../../../../src/main/cpp/armeabi-v7a/libv8_base.a 
>>>>>> ../../../../src/main/cpp/armeabi-v7a/libv8_nosnapshot.a -latomic -lm 
>>>>>> "/usr/local/v8/v8/third_party/android_ndk/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a"
>>>>>>  
>>>>>> && :
>>>>>> ../../src/isolate.cc:0: error: undefined reference to 'vtable for 
>>>>>> v8::internal::SetupIsolateDelegate'
>>>>>> /usr/local/v8/v8/third_party/android_ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld:
>>>>>>  
>>>>>> the vtable symbol may be undefined because the class is missing its key 
>>>>>> function
>>>>>> clang++: error: linker command failed with exit code 1 (use -v to see 
>>>>>> invocation)
>>>>>> ninja: build stopped: subcommand failed.
>>>>>>
>>>>>> the key point is " 'vtable for 
>>>>>> v8::internal::SetupIsolateDelegate'",is the libv8_base.a  not correct? 
>>>>>>
>>>>>> Any help is appreciated!
>>>>>>
>>>>> -- 
>>> -- 
>>> v8-users mailing list
>>> v8-u...@googlegroups.com
>>> http://groups.google.com/group/v8-users
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "v8-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to v8-users+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to