0

Attempt to link with Visual Studio 2019 an old Visual Studio 2008 x86 project using Gsl library v1.13, I got this error on link step:

LNK2019 symbole externe non résolu __imp____iob_func référencé dans la fonction _gsl_error

Options are same from Visual Studio 2008 project and already tried these points in this link : unresolved external symbol __imp__fprintf and __imp____iob_func, SDL2

If someone has idea and can help? Thank you

  • 1
    That .lib was built with heavily outdated compiler #include files, you can't link it to the current standard C library anymore. Rebuilding the library is required, no big deal for an open source library of course. – Hans Passant Mar 15 '21 at 23:50

2 Answers2

0

__iob and __printf are symbols contained in the stdio library.

It seems to me that the standard libc library is not statically linked to your new executable.

Try to this:

Configure the new project to statically link the libc library

Enrico Migliore
  • 201
  • 3
  • 9
0

The constitution of the project is:

Main Executable (AA)

I may be looking for the option to statically link the main executable (AA) with the standard libc library under Visual Studio 2019 but can't find accurate information out of this https://learn.microsoft.com/en-us/cpp/c-runtime-library/crt-library-features?view=msvc-160.

Just so as not to mislead my protagonist to link statically, can you confirm to me that it is necessary to link with the standard library (AA) , (BB) or (CC) ?