Dear list,
I finally found a solution.
The dirty fix is to add an additional define in each compiler call. A better
way is to modify the spec file of GCC. Therein you need to add the following
define at an appropriate place:
-D__USE_MINGW_OUTPUT_FORMAT_EMU=0
By default, MinGW assumes __USE_MINGW_OUTPUT_FORMAT_EMU=1 It is this assumption
which leads to the missing linker symbols and I suggest to change the default
in later versions of MinGW/GCC. The define is used in stdio.h to change the
ident of the MSVCRT function from _set_output_format to
__mingw_set_output_format.
Best regards
Sebastian
On 19 Feb 2014, at 17:05, Sebastian Wolff <[email protected]> wrote:
> Dear list,
>
> today I upgraded from a SVN revision from March 2013 of the MinGW-w64 runtime
> to version 3.1.0. I use the open build service provided by the openSUSE
> community to install my cross compiler framework (based on openSuse Linux
> 12.2). GCC version is 4.8.2. Target system is x64.
>
> Since the upgrade I face the following problem:
>
> The Linker command terminates with error message
> Undefined symbol: __mingw_set_output_format
>
> There are no other errors. In my source code we use the MSVCRT function
> _set_output_format. It seems that GCC is replacing this symbol automatically
> by mingw_set_output_format. I believe, if that would not be the case, the
> linker should go fine since _set_output_format is actually provided by
> libmsvcrt.a
>
> Any ideas on what I could do about this ?
>
> Best regards
> Sebastian
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public