rust install dependencies
¿Cómo puedo construir múltiples binarios con Cargo? (1)
Puede especificar varios archivos binarios utilizando [[bin]]
, como se menciona here :
[[bin]]
name = "daemon"
path = "src/daemon/bin/main.rs"
[[bin]]
name = "client"
path = "src/client/bin/main.rs"
Consejo: si en lugar de poner estos archivos en src/bin/daemon.rs
y src/bin/client.rs
, obtendrá dos ejecutables llamados daemon
y client
como Cargo compila todos los archivos de src/bin
en ejecutables con el mismo nombre automáticamente. Debe especificar nombres y rutas como en el fragmento de código anterior solo si no sigue esta convención.
Me gustaría hacer un proyecto con un daemon
y un client
, conectándome a través de un socket UNIX.
Un client
y un daemon
requieren dos binarios, entonces, ¿cómo le digo a Cargo
que construya dos objetivos desde dos fuentes diferentes?
Para agregar un poco de fantasía, me gustaría tener una library
para la parte principal del daemon
, y solo tener un binario para envolverlo y comunicarlo a través de sockets.
Entonces, tenemos este tipo de arquitectura de árbol:
├── Cargo.toml
├── target
| └── debug
| ├── daemon
│ └── client
└── src
├── daemon
│ ├── bin
│ │ └── main.rs
│ └── lib
│ └── lib.rs
└── client
└── bin
└── main.rs
Podría hacer un ejecutable que maneje ambas preocupaciones, pero eso no es lo que quiero hacer, a menos que sea una buena práctica.