Hello Kai,

>> 
> 
> So there shouldn't be much trouble about that beside that newer
> runtime might uses additional exports not present by default in the
> default-version msvcrt.dll.
> 

Thanks for giving me the assurance at this point. I want to add, however, that 
the third-party lib may (and does) export symbols that are not available in 
msvcrt.dll. 

> 
> Well, the issue you have here is solvable.  You should simply use
> additionally on command-line for linking the -static option.  The
> point here is that gcc's runtime-DLLs are linked against msvcrt.dll.
> also -lmoldname links against msvcrt.dll, so for what purposes you
> actual need it?
> 

I modified the specs according to the Jon's summary of your recommendations, 
i.e.:
- use -lmsvcr90 instead of -lmsvcrt
- use -static 
- avoid linking against -lmoldname
- use the define -D__MSVCRT_VERSION__=0x0900 when compiling *.cpp 

From what I see here, the new specs are interpreted correctly by GCC (-v). 
Frankly, I now run into a link error:
(.textidx+0x2154): undefined reference to `getcwd'
(.textidx+0x3b3e): undefined reference to `stricmp'
(.textidx+0x31fd): undefined reference to `stricmp'
(.textidx+0x322e): undefined reference to `stricmp'
(.textidx+0x3261): undefined reference to `stricmp'
(.textidx+0x3290): undefined reference to `stricmp'
(.textidx+0x32c1): more undefined references to `stricmp' follow
(.textidx+0x33b8): relocation truncated to fit: R_X86_64_PC32 against undefined 
symbol `stricmp'
All of these symbols are exported from the third-party lib. And they are 
provided by libmoldname… 

I also want to note some linker warnings:
Warning: .drectve `/manifestdependency:"type='win32' name='Microsoft.VC90.CRT' 
version='9.0.21022.8' processorArchitecture='amd64' 
publicKeyToken='1fc8b3b9a1e18e3b'" /DEFAULTLIB:"uuid.lib" 
/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' 
unrecognized
Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" ' unrecognized
Warning: .drectve `/EXPORT:__crt_debugger_hook ' unrecognized

In my opinion, these warnings do not have a huge impact on my specific problem, 
but do they give you any hint on the source of the problem?


> 
> Sure, Wine doesn't do manifest-file checks.  Therefore it runs without issues.
> 
My guess is that WINE's msvcrt.dll and msvcr90.dll share the same runtime 
internally and, thus, no problems occur.  



Thank you for your time!

Best regards
Sebastian
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to