Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens des symboles externes non résolus __imp__fprintf et __imp____iob_func dans Visual Studio 2015 ?

Pourquoi est-ce que j'obtiens des symboles externes non résolus __imp__fprintf et __imp____iob_func dans Visual Studio 2015 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 07:13:14511parcourir

Why Do I Get Unresolved External Symbols __imp__fprintf and __imp____iob_func in Visual Studio 2015?

Percer le mystère des symboles externes non résolus : __imp__fprintf et __imp____iob_func

Vos erreurs de compilation indiquent que l'éditeur de liens ne peut pas trouver les définitions nécessaires pour deux externes symboles : __imp__fprintf et __imp____iob_func. Ces symboles sont liés aux opérations d'entrée et de sortie.

Dans Visual Studio 2015, les modifications apportées à la définition de stdin, stderr et stdout ont introduit cette erreur. Précédemment définis comme __iob_func(), ces symboles sont désormais définis différemment. Cette incohérence entraîne des problèmes de liaison avec les bibliothèques compilées à l'aide d'anciennes versions de Visual Studio.

Pour résoudre ce problème, vous pouvez définir __iob_func() comme un tableau contenant {stdin,stdout,*stderr } dans votre code. De plus, l'ajout de Legacy_stdio_definitions.lib à vos options d'éditeur de liens peut résoudre les erreurs liées aux fonctions stdio, telles que sprintf().

En suivant ces étapes, vous pouvez résoudre les erreurs de symboles externes non résolues et compiler avec succès votre programme SDL2. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn