Definición múltiple de error principal en eclipse usando C

Estoy tratando de generar dos ejes, cliente y servidor usando un Proyecto C en eclipse. Ambos tienen funciones principales ya que son diferentes. Ambos usan un archivo confutils.c común. ¿Cómo resuelvo las múltiples definiciones del problema principal? Sé que no podemos tener dos redes principales en un solo proyecto. Mi makefile se ve a continuación.

.co: gcc -g -c $? # compile client and server all: confclient confserver # compile client only confclient: confclient.o confutils.o gcc -g -o confclient confclient.o confutils.o # compile server program confserver: confserver.o confutils.o gcc -g -o confserver confserver.o confutils.o 

Reemplazé el archivo de eclipse con esto. No sé si eclipse lo leyó correctamente. No me gusta dividir este proyecto en dos, ya que es un progtwig tan simple. Soy capaz de ejecutar estos archivos en unix sin problemas. Estoy tratando de encontrar si hay una opción en eclipse que nos permita configurar configuraciones.

Es posible definir múltiples configuraciones de comstackción , cada una con un conjunto diferente de archivos que se crean.

Primero abre las propiedades del proyecto y navega a Manage Configurations :

introduzca la descripción de la imagen aquí

Crear una nueva configuración de construcción:

introduzca la descripción de la imagen aquí

Y activarlo :

introduzca la descripción de la imagen aquí

Finalmente, defina el filtro excluyendo el (los) archivo (s) para asegurarse de que construye un archivo fuente con main() que solo desea usar:

introduzca la descripción de la imagen aquí

Y eso es:

introduzca la descripción de la imagen aquí

Ahora puede elegir la configuración de comstackción de destino desde Menu > Project > Build Configurations > Set Active .

Creo que puedes configurar múltiples “Configuraciones de comstackción” para evitar esto. Debajo de “Proyecto” en la barra de menú puede elegir su configuración de construcción activa.

Hay formas de excluir archivos en diferentes configuraciones. Debajo de las propiedades de su proyecto, vaya a “C / C ++ General”, “Paths and Symbols” y aquí elija “Source Source”. Lo más importante ahora puede elegir la configuración de comstackción y luego definir diferentes ubicaciones de sorurce para sus diferentes configuraciones de comstackción. Aquí agrega carpetas para su código fuente y, aquí viene el truco, para las carpetas que elija incluir puede poner el filtro para ignorar archivos específicos.

En su caso, haría dos configuraciones de comstackción, una para confcliente y para esta excluiría confserver.c de la ubicación del código fuente, y viceversa.

Necesitará construir su proyecto dos veces, pero utilspart se mantendrá sin cambios y, por lo tanto, no se volverá a comstackr, lo que es un beneficio al tener dos proyectos. También podría ser bueno tener todo el código en el mismo proyecto, ya que supongo que el código en el lado del servidor y del lado del cliente estará conectado.