Errores de "definición múltiple", "primero definidos aquí"
Tengo 3 proyectos:Servidor, Cliente yLos comunes. Hacer pares de encabezado y fuente enLos comunes no causa ningún problema y puedo acceder a las funciones libremente desde ambosServidor yCliente.
Sin embargo, por alguna razón, crea archivos de origen / encabezado adicionales enServidor oCliente proyecto siempre causamultiple definition of (...)
yfirst defined here
errores
Ejemplo:
comandos.h (en el directorio raíz de laCliente proyecto)
#ifndef COMMANDS_H_
#define COMMANDS_H_
#include "commands.c"
void f123();
#endif /* COMMANDS_H_ */
comandos.c (en el directorio raíz de laCliente proyecto)
void f123(){
}
C Principal (en el directorio raíz de laCliente proyecto)
#include "commands.h"
int main(int argc, char** argv){
}
Errores:
make: *** [Client] Error 1 Client
first defined here Client
multiple definition of `f123' commands.c
La limpieza, el índice de reconstrucción, los proyectos de reconstrucción no ayudan. Tampoco reiniciar la computadora.