[webkit-help] Linker issues with jsc
Justin Thomas
justin at sweaky.com
Fri Oct 7 19:00:39 PDT 2011
Hi All,
I have been working on getting JavaScriptCore building and running but
trying to use a different setup. My goal, is to get it building on
Windows, either through visual studio or cygwin (or both) using
glib/gobject libs instead of libicuxx libs and without core foundation.
Currently, I have been able to get it pretty far, I've branched my own
projects and vsprops, removed the libicu references and added in the
glib references/includes into the vsprops, defined ENABLE_GLIB_SUPPORT,
removed the icu headers/code files from the vs project file and added in
the glib/gobject ones. I've defined in unicodeglib.h UChar and UChar32
as guint16 and guint32 (not sure what is was before, maybe I just
circled back around). I have also defined JSChar as unsigned short (even
wchar_t), after fixing a few compile errors I've managed to get it to
begin linking, but am stuck on some (probably quite trivial) problems,
build output:
3>Linking...
3>JSByteArray.obj : warning LNK4197: export
'?s_info at JSByteArray@JSC@@2UClassInfo at 2@B' specified multiple times;
using first specification
3> Creating library
G:\webkit-latest\WebKitBuild\Debug\lib\JavaScriptCore.lib and object
G:\webkit-latest\WebKitBuild\Debug\lib\JavaScriptCore.exp
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: __thiscall JSC::UString::UString(wchar_t const *)"
(??0UString at JSC@@QAE at PB_W@Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: __thiscall JSC::UString::UString(wchar_t const *,unsigned int)"
(??0UString at JSC@@QAE at PB_WI@Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: void __thiscall WTF::StringBuilder::append(wchar_t const
*,unsigned int)" (?append at StringBuilder@WTF@@QAEXPB_WI at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: enum WTF::Collator::Result __thiscall
WTF::Collator::collate(wchar_t const *,unsigned int,wchar_t const
*,unsigned int)const " (?collate at Collator@WTF@@QBE?AW4Result at 12@PB_WI0I at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol "enum
WTF::Unicode::ConversionResult __cdecl
WTF::Unicode::convertUTF16ToUTF8(wchar_t const * *,wchar_t const *,char
* *,char *,bool)"
(?convertUTF16ToUTF8 at Unicode@WTF@@YA?AW4ConversionResult at 12@PAPB_WPB_WPAPADPAD_N at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol "enum
WTF::Unicode::ConversionResult __cdecl
WTF::Unicode::convertUTF8ToUTF16(char const * *,char const *,wchar_t *
*,wchar_t *,bool)"
(?convertUTF8ToUTF16 at Unicode@WTF@@YA?AW4ConversionResult at 12@PAPBDPBDPAPA_WPA_W_N at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol "bool
__cdecl WTF::Unicode::equalUTF16WithUTF8(wchar_t const *,wchar_t const
*,char const *,char const *)"
(?equalUTF16WithUTF8 at Unicode@WTF@@YA_NPB_W0PBD1 at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: unsigned int __thiscall
WTF::DecimalNumber::toStringDecimal(wchar_t *,unsigned int)const "
(?toStringDecimal at DecimalNumber@WTF@@QBEIPA_WI at Z)
3>JavaScriptCore.exp : error LNK2001: unresolved external symbol
"public: unsigned int __thiscall
WTF::DecimalNumber::toStringExponential(wchar_t *,unsigned int)const "
(?toStringExponential at DecimalNumber@WTF@@QBEIPA_WI at Z)
3>G:\webkit-latest\WebKitBuild\Debug\bin\JavaScriptCore.dll : fatal
error LNK1120: 9 unresolved externals
Where wchar_t is specified, in the code those are UChar's, which are not
defined as wchar_t (I have it defined as unsigned shorts, even maybe vsc
is just assuming since it is ushort that it's the same as wchar_t?),
I've been at this for a couple days now trying to figure out why it's
looking for these signatures. I've also tried configuring wchar as
built-in type and not with no difference.
As a side note, which I don't think is related but might be, while
building for vs it seems nmake would hang while generating the
KeywordLookup and RexExJit tables, so I ended up just running those
myself through cygwin (just as DerivedSources.make does) and copy them
over during each clean, a bit wonky but again right now I'm just trying
to see if I can get a viable build going using just glib.
Any help, pointers, etc.. would be appreciated.
Thanks,
-JT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-help/attachments/20111007/83fa1996/attachment.html>
More information about the webkit-help
mailing list