ubuntu 64位 鏈接 v8出錯 undefined reference to icu_46

debian, ubuntu, linux mint 64位 鏈接 libv8 出錯 undefined reference to icu_46

==================================================

出錯情形:

使用google document自帶的例子

g++ -Iinclude hello_world.cc -o hello_world out/x64.release/obj.target/tools/gyp/libv8_{base.x64,snapshot}.a -lpthread

報如下錯誤

i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0x68): undefined reference to `uloc_forLanguageTag_46'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0x86): undefined reference to `icu_46::Locale::~Locale()'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0xbd): undefined reference to `icu_46::Locale::Locale(char const*, char const*, char const*, char const*)'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0xd2): undefined reference to `icu_46::Locale::operator=(icu_46::Locale const&)'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0xdf): undefined reference to `icu_46::Locale::~Locale()'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0x129): undefined reference to `icu_46::Locale::getBaseName() const'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0x140): undefined reference to `icu_46::Locale::Locale(char const*, char const*, char const*, char const*)'
i18n.cc:(.text._ZN2v88internal13BreakIterator23InitializeBreakIteratorEPNS0_7IsolateENS0_6HandleINS0_6StringEEENS4_INS0_8JSObjectEEES8_+0x176): undefined reference to `icu_46::Locale::~Locale()'
collect2: error: ld returned 1 exit status

出錯原因:

某些地方國際化做得不好,一開始可以考慮只是用非國際化的v8版本,在編譯v8時加選項取消國際化。

make -j4 native i18nsupport=off werror=no




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章