Maison >développement back-end >C++ >Pourquoi est-ce que je reçois des symboles externes non résolus __imp__fprintf et __imp____iob_func avec SDL2 ?
Symboles externes non résolus : __imp__fprintf et __imp____iob_func avec SDL2
En programmation, la rencontre de symboles externes non résolus est un problème courant qui se manifeste par des erreurs de liaison. Deux symboles spécifiques qui provoquent fréquemment de telles erreurs avec SDL2 sont __imp__fprintf et __imp____iob_func.
Le symbole externe non résolu __imp__fprintf apparaît car fprintf, qui est utilisé pour l'impression formatée, se trouve dans une bibliothèque de liens dynamiques (DLL). Les compilateurs établissent généralement des liens vers ces bibliothèques au moment de l'exécution, mais parfois l'éditeur de liens ne parvient pas à trouver la DLL appropriée. Cela peut se produire lorsque la DLL n'est pas présente dans le chemin du système ou lorsqu'une mauvaise version est liée.
Le symbole externe non résolu __imp____iob_func, en revanche, est lié à l'entrée/sortie standard du C (E/S ) fonctions. En particulier, Visual Studio 2015 a introduit des modifications dans la définition des fonctions d'E/S telles que stdin, stdout et stderr. Ces fonctions sont désormais définies à l'aide de __acrt_iob_func, alors que dans les versions précédentes, elles étaient définies à l'aide de __iob_func. Cela peut provoquer des erreurs de liaison lors de l'utilisation de bibliothèques ou de code compilé avec des versions antérieures de Visual Studio.
Pour résoudre ces erreurs de symboles externes non résolues, vous pouvez suivre les étapes suivantes :
En suivant ces étapes, vous pouvez résoudre efficacement les erreurs de symboles externes non résolues liées à __imp__fprintf et __imp____iob_func lorsque vous travaillez avec SDL2 dans Visual Studio 2015.
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!