Kevin KoflerLe 04/02/2018 à 17:13
En l'occurrence, il ne linke pas statiquement avec la bibliothèque qui implémente printf, mais utilise la msvcrt.dll du système, c'est bien pour ça qu'il faut utiliser le spécificateur Microsoft. Les versions plus récentes de Visual C++ utilisent de nouveaux noms pour les bibliothèques standard (msvcr60.dll, msvcr70.dll etc.), mais ces versions ne sont pas universellement préinstallées, donc MinGW/MinGW64/TDM-GCC sont bloqués avec la vieille msvcrt.dll. Il y a la bibliothèque statique libmingwex.a, mais elle ne peut pas tout remplacer. Il me semble qu'il y ait maintenant une implémentation conforme C99 de printf dans la libmingwex, mais il faut probablement l'activer explicitement.