mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 09:41:47 +00:00
[MSVCRT] Export __acrt_iob_func to fix GCC build with latest RosBE 2.2 (#1835)
This adds an evil hack to persuade libstdc++, which tries to import __acrt_iob_func from a DLL. This can only be solved cleanly by adding a GCC-compatible C++ standard library to our tree later.
This commit is contained in:
parent
d9e7c48c1a
commit
fdd1d7d60c
2 changed files with 26 additions and 1 deletions
|
@ -39,7 +39,8 @@ list(APPEND MSVCRTEX_SOURCE
|
|||
misc/fltused.c
|
||||
misc/isblank.c
|
||||
misc/iswblank.c
|
||||
misc/ofmt_stub.c)
|
||||
misc/ofmt_stub.c
|
||||
stdio/acrt_iob_func.c)
|
||||
|
||||
if(MSVC)
|
||||
list(APPEND MSVCRTEX_SOURCE
|
||||
|
|
24
sdk/lib/crt/stdio/acrt_iob_func.c
Normal file
24
sdk/lib/crt/stdio/acrt_iob_func.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* PROJECT: ReactOS CRT library
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: __acrt_iob_func implementation
|
||||
* COPYRIGHT: Victor Perevertkin <victor.perevertkin@reactos.org>
|
||||
*/
|
||||
|
||||
// Evil hack necessary, because we're linking to the RosBE-provided libstdc++ when using GCC.
|
||||
// This can only be solved cleanly by adding a GCC-compatible C++ standard library to our tree.
|
||||
#ifdef __GNUC__
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
/*********************************************************************
|
||||
* __acrt_iob_func(MSVCRT.@)
|
||||
*/
|
||||
FILE * CDECL __acrt_iob_func(int index)
|
||||
{
|
||||
return &__iob_func()[index];
|
||||
}
|
||||
|
||||
const void* _imp____acrt_iob_func = __acrt_iob_func;
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue