Es difícil encontrar un título adecuado para este problema. De todos modos ...Biblioteca de otros #define conflicto de nombres
Actualmente estoy trabajando en un GUI para mis juegos en SDL. He terminado el dibujo del software y estaba en camino de comenzar con la parte OpenGL cuando surgió un error extraño. Incluí el encabezado "SDL/SDL_opengl.h" y compilo. Lanza el "error C2039: 'DrawTextW': no es miembro de 'GameLib :: FontHandler'", que es un error bastante simple, pero no tengo nada llamado DrawTextW, solo FontHandler :: DrawText. ¡Busco DrawTextW y lo encuentro en una llamada #define en el encabezado "WinUser.h"!
//WinUser.h
#define DrawText DrawTextW
Al parecer Sustituye mi DrawText con DrawTextW! ¿Cómo puedo evitar que se desborde en mi código de esa manera?
Es una cosa menor que cambia el nombre de mi propia función, pero conflictos de nombres como éste parece bastante peligroso y realmente me gustaría saber cómo evitar todos juntos.
¡Salud!
Sí, Windows.h sí colisiona. Supongo que es justo quejarse de que no se compila sin las extensiones ms habilitadas, pero también es razonable que un encabezado específico de ms deba (requiera esas extensiones). – bobobobo