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 ?
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!