![](/img/trans.png)
[英]Android NDK: Error: must be enabled with the -std=c++11 or -std=gnu++11 compiler options
[英]Using GNU STL and C++11 with V8 on Android NDK
我正在使用NDK和V8在Android上構建應用程序。 我寧願使用C ++ 11和GNU STL來實現諸如shared_ptr
; 但是,V8構建系統似乎被硬編碼為使用stlport_static
作為其STL變體。
即使修補構建系統以生成完全獨立的庫 ,V8的構建也不會將STLport靜態鏈接到其.a文件(這是可以預期的),因此我從libv8_base.a
未解析的符號中得到了數百個鏈接器錯誤。等。 我還看不到任何方法來指示ndk-build
當我使用其他STL變體時應該鏈接到stlport_static
。
使用gnustl_static
是否有合理的方式鏈接到stlport_static
,或者更好的是,有沒有一種方法可以針對gnustl_static
來構建Android V8?
你有個問題。 好吧,可以格外小心地將不同的STL混合在單獨的.so中; 但是在一個.so中使用兩個STL根本是不可能的。
您要么需要實現自己的shared_ptr
(沒什么大不了的),但是對於gnustl中而不是stlport中存在的所有其他功能,您將面臨同樣的問題。
或者,您需要將V8端口移植到gnustl (恐怕MIT許可證不允許這樣做)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.