I'll start out by saying my engine uses c++_shared as the STL runtime. 
 This is absolutely critical for a 200+ line engine with dozens of 
dependencies that i've already got building and going this way.

I've spent 8 hours completely pulling my hair out trying to desperately get 
V8 to for the love of god just link properly without spamming 1000's of C++ 
linker errors.

I've tried literally everything I can think of.  Please please help me. 
 Android is the final build I have to do for a v8 integration.  

My current build args (I've tried just about every combination of these):
target_os = "android"
is_debug = false
is_clang = false
use_sysroot = false
v8_use_snapshot = true
treat_warnings_as_errors = false
target_cpu = "arm64"       # as v8gen.py assumes a simulator build.
v8_target_cpu = "arm64"
is_component_build = false
v8_enable_i18n_support = false
v8_monolithic = true
v8_static_library = true
v8_use_external_startup_data = false
use_custom_libcxx = false
use_custom_libcxx_for_host=false
use_libfuzzer=false
v8_enable_test_features=""
v8_experimental_extra_library_files=[]
v8_extra_library_files=[]
use_glib = false
use_drfuzz=false
android32_ndk_api_level = 19
android_ndk_major_version = 19
android_ndk_version = "r19"
android_sdk_platform_version = 19
android_sdk_version = 19
android64_ndk_api_level = 19

I've also manually changed -std=c++14 (not gnu) to match what I have in my 
engine, this also has no effect on the errors.  

Here's an example build line.  These settings are spot-on-exact with what 
i'm using my main engine's code.  

[2/82] ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
obj/v8_compiler/compiler-source-position-table.o.d -DANDROID 
-DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION_ROLL=r19_1 -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND 
-DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 
-DENABLE_MINOR_MC -DV8_USE_SNAPSHOT -DV8_CONCURRENT_MARKING 
-DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_EMBEDDED_BUILTINS 
-DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO 
-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_DEPRECATION_WARNINGS 
-DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_ARM64 
-DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -I../.. -Igen 
-I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 
-fstack-protector -funwind-tables -fPIC -pipe -ffunction-sections 
-fno-short-enums --target=aarch64-linux-android19 
-DHAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC=1 -mno-outline 
-Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Wall 
-Wno-unused-local-typedefs -Wno-maybe-uninitialized 
-Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned 
-Wno-missing-field-initializers -Wno-unused-parameter 
-fno-omit-frame-pointer -g1 -Wno-strict-overflow -Wno-return-type -O2 
-fno-ident -fdata-sections -ffunction-sections -fvisibility=default 
-std=c++14 -Wno-narrowing -Wno-class-memaccess -fno-exceptions -fno-rtti 
--sysroot=../../third_party/android_ndk/toolchains/llvm/prebuilt/darwin-x86_64/sysroot
 
-c ../../src/compiler/compiler-source-position-table.cc -o 
obj/v8_compiler/compiler-source-position-table.o



When I link with my engine I can't ever get past thousands of C++ related 
linker errors:


/Users/mike/comp/googlesource-android/v8/v8/out.gn/arm.release/obj/libv8_monolith.a(turbo-assembler.o):
 
In function `~basic_stringbuf':

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:130:
 
undefined reference to `std::__1::basic_streambuf<char, 
std::__1::char_traits<char> >::~basic_streambuf()'

/Users/mike/comp/googlesource-android/v8/v8/out.gn/arm.release/obj/libv8_monolith.a(turbo-assembler.o):
 
In function `~basic_ostringstream':

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:136:
 
undefined reference to `std::__1::basic_ostream<char, 
std::__1::char_traits<char> >::~basic_ostream()'

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:136:
 
undefined reference to `std::__1::basic_ios<char, 
std::__1::char_traits<char> >::~basic_ios()'

/Users/mike/comp/googlesource-android/v8/v8/out.gn/arm.release/obj/libv8_monolith.a(turbo-assembler.o):
 
In function `~basic_stringbuf':

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:130:
 
undefined reference to `std::__1::basic_streambuf<char, 
std::__1::char_traits<char> >::~basic_streambuf()'

/Users/mike/comp/googlesource-android/v8/v8/out.gn/arm.release/obj/libv8_monolith.a(turbo-assembler.o):
 
In function `~basic_ostringstream':

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:136:
 
undefined reference to `std::__1::basic_ostream<char, 
std::__1::char_traits<char> >::~basic_ostream()'

/Users/mike/comp/googlesource-android/v8/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:136:
 
undefined reference to `std::__1::basic_ios<char, 
std::__1::char_traits<char> >::~basic_ios()'

/Users/mike/comp/googlesource-android/v8/v8/out.gn/arm.release/obj/libv8_monolith.a(turbo-assembler.o):
 
In function `~basic_stringbuf':


I'm really at my wits end here.  I simply cannot spend another 8 hour day 
on this with nothing to show for it.  

-- 
-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/17051e7c-e378-4b87-a2e0-e5439ea60e3fn%40googlegroups.com.

Reply via email to