[sldev] Linker error building a Debug viewer from 1.17.0.12 sources under VC8

Nicholaz Beresford nicholaz at blueflash.cc
Wed Jun 20 16:10:09 PDT 2007


Able,

have you tried to just #ifndef _DEBUG the calls to those
two functions and use an MozLib::init from an older
source?  They sound as if the viewer could run
without them.


Nick


Second Life from the inside out:
http://nicholaz-beresford.blogspot.com/


Able Whitman wrote:
> Okay, with Nick's clever hack, I managed to get the Debug configuration 
> to build successfully. However, I'm hitting an access violation during 
> startup:
> 
> "Unhandled exception at 0x02d79179 in debugview.exe : 0xC0000005: Access 
> violation writing location 0x0c368000."
> 
> The culprit is "debugview.exe!LLMozLib::init()  + 0x56 bytes", called 
> from idle_startup() on line 536 of llstartup.cpp. Curiously, the call to 
> idle_startup is missing from the debugger call stack, which jumps 
> immediately from the call to idle() on line 3566 of viewer.cpp to the 
> call to LLMozLib::init().
> 
> I suspect that something about linking the Debug build with the release 
> version of llmozlib-vc80.lib is causing problems, even though 
> __invalid_parameter() has been defined. Linking against the supplied 
> debug version of llmozlib-vc80.lib doesn't work, and results in 3 
> unresolved externals:
> 
> llpanelweb.obj : error LNK2019: unresolved external symbol "public: bool 
> __thiscall LLMozLib::enableCookies(bool)" ... "public: virtual void 
> __thiscall LLPanelWeb::refresh(void)"
> llpanelweb.obj : error LNK2019: unresolved external symbol "public: bool 
> __thiscall LLMozLib::clearAllCookies(void)" ... referenced in function 
> "private: static void __cdecl 
> LLPanelWeb::callback_clear_cookies(int,void *)"
> llstartup.obj : error LNK2019: unresolved external symbol "public: bool 
> __thiscall LLMozLib::init(class std::basic_string<char,struct 
> std::char_traits<char>,class std::allocator<char> >,class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> >,class std::basic_string<char,struct 
> std::char_traits<char>,class std::allocator<char> >)" ... referenced in 
> function "int __cdecl idle_startup(void)"
> 
> It looks to me like these functions are related to the new cookie 
> handling Preferences added in 1.17, and that someone forgot to rebuild 
> the debug version of llmozlib-vc80.lib before the source went out the 
> door. :)
> 
> What are the reasons that the source for llmoz lib isn't included with 
> the rest of the source?  My next step is to build my own version of it, 
> but is the version at http://www.ubrowser.com/downloads.php (dated 
> 2006-11-06) the latest version?
> 
> --Able
> 
> 
> On 6/20/07, *Nicholaz Beresford* < nicholaz at blueflash.cc 
> <mailto:nicholaz at blueflash.cc>> wrote:
> 
> 
>     Ouch, actually it doesn't seem to run.  Dunno if
>     I did something wrong with that piece of code, maybe
>     it helps someone somehow anyway.
> 
> 
>     Nick
> 
> 
>     Second Life from the inside out:
>     http://nicholaz-beresford.blogspot.com/
>     <http://nicholaz-beresford.blogspot.com/>
> 
> 


More information about the SLDev mailing list