[Mono-devel-list] Linker errors, domain.c / appdomain.h

J Lothian rhalin at gmail.com
Sun Feb 13 00:57:39 EST 2005


It's the strangest thing, it wasn't likeing the "inline" tags for some
reason.  Compiles fine on other functions except those four, remove
them and it compiles.  I've actually got the entire thing compiling
now, so I think I'm past the "getting it all together" phase, and now
comes the really nasty stuff of debugging the library itself.  Running
some of the tests in the embed directory, I'm getting a lot of
crashes.  mini.c (8149) It's throwing an exception:

"The value of ESP was not properly saved acrossed a function call. 
This is usually a result of calling a function declared with one
calling convention with a function pointer declared with a different
calling convention."

And if I ignore two of those, it crashes (big surprise).  From what I
know about that error, it's usually caused by lacking a keyword or
specific function type (WINAPI, __cdecl, etc etc).  But this is
getting into things I'm going to have to research more on.  I plan on
cleaning up the project a little tommorow, writing a few more comments
in my conversion notes, and posting my progress thus far with project
files to download if anyone wants to take a look.  For now, I need
sleep ;)

Thanks for advice though!

On Sun, 13 Feb 2005 00:34:53 -0500 (EST), Erik LeBel <eriklebel at yahoo.ca> wrote:
> could this be an issue with the mangeling of names?
> 
> if MSVC is compiling the C as C++ it could be mangling
> the function names. I think you can verify this with
> the dumpbin (dumpbin /symbols somobjfile.obj) util to
> list the symbols, and if they are mangled use the /TC
> option on the cl.exe command line to for C compiling.
> 
> -erik
> 
> --- J Lothian <rhalin at gmail.com> wrote:
> > I'm getting a ton of linker errors (unresolved
> > externals) regarding
> > functions defined in appdomain.h and implemented in
> > domain.c.   I'm
> > not sure my compiler (MSVC 6) is very happy linking
> > them in that
> > manner.  I know that both domain.c and appdomain.c
> > are compiling
> > without error, I'm just not sure as to why they
> > aren't linking in
> > properly,  open to suggestions!  I'm just excited I
> > got everything
> > compiling and -got- to linking.  The last two linker
> > errors are
> > functions defined in windows libs, that should be
> > linking in properly,
> > and I'm not sure whats going on there either, I'll
> > keep looking around
> > though, my main concern is the domain.c bit at the
> > moment.
> >
> > Here's the errors I'm getting:
> >
> > Linking...
> > appdomain.obj : error LNK2001: unresolved external
> > symbol _mono_context_set
> > driver.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > mini-exceptions.obj : error LNK2001: unresolved
> > external symbol _mono_domain_get
> > mini.obj : error LNK2001: unresolved external symbol
> > _mono_domain_get
> > tramp-x86.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > socket-io.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > string-icalls.obj : error LNK2001: unresolved
> > external symbol _mono_domain_get
> > threadpool.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > threads.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > object.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > process.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > reflection.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > security.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > icall.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > locales.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > marshal.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > mono-debug-debugger.obj : error LNK2001: unresolved
> > external symbol
> > _mono_domain_get
> > appdomain.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > environment.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > exception.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > file-io.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get
> > appdomain.obj : error LNK2001: unresolved external
> > symbol _mono_domain_get_by_id
> > appdomain.obj : error LNK2001: unresolved external
> > symbol
> > _mono_domain_set_internal
> > gc.obj : error LNK2001: unresolved external symbol
> > _mono_domain_set_internal
> > appdomain.obj : error LNK2001: unresolved external
> > symbol _mono_context_get
> > marshal.obj : error LNK2001: unresolved external
> > symbol _mono_context_get
> > object.obj : error LNK2001: unresolved external
> > symbol _mono_context_get
> > threads.obj : error LNK2001: unresolved external
> > symbol _mono_context_get
> > icall.obj : error LNK2001: unresolved external
> > symbol __imp__SHGetFolderPathW at 20
> > threads.obj : error LNK2001: unresolved external
> > symbol __imp__OpenThread at 12
> > Debug/mono.dll : fatal error LNK1120: 7 unresolved
> > externals
> >
> > As always, any help is appreciated, thanks!
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> >
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> 
> ______________________________________________________________________
> Post your free ad now! http://personals.yahoo.ca
>



More information about the Mono-devel-list mailing list