Error del vinculador de programación de archivos múltiples de C: _funcName definido en el módulo XXX.c está duplicado en el módulo XXX.c
Error del vinculador: varios archivos .c implementan la misma función al mismo tiempo.
Causa: main.c contiene sm.c, login.c también contiene sm.c. Entonces, la función en sm.c tiene tres entidades después de la compilación y el vinculador no sabe a cuál vincular.
Solución 1. Separar la declaración e implementación de funciones y variables y escribirlas en archivos .h y .c respectivamente.
2. #include solo se usa para incluir archivos .h, no archivos .c.