¿Cómo especifico la ruta del enlazador en Rust?

Estoy tratando de vincular un programa Rust conlibsoundio. Estoy usando Windows y hay una descarga binaria de GCC disponible. Puedo vincularlo así si lo pongo en la misma carpeta que mi proyecto:

#[link(name = ":libsoundio-1.1.0/i686/libsoundio.a")]
#[link(name = "ole32")]
extern {
    fn soundio_version_string() -> *const c_char;
}

Pero realmente quiero especificar#[link(name = "libsoundio")] o incluso#[link(name = "soundio")]y luego proporcione una ruta de enlace en otro lugar.

¿Dónde puedo especificar esa ruta?

Probé elrustc-link-search sugerencia de la siguiente manera:

#[link(name = "libsoundio")]
#[link(name = "ole32")]
extern {
    fn soundio_version_string() -> *const c_char;
}

Y en.cargo/config:

[target.i686-pc-windows-gnu.libsoundio]
rustc-link-search = ["libsoundio-1.1.0/i686"]
rustc-link-lib = ["libsoundio.a"]

[target.x86_64-pc-windows-gnu.libsoundio]
rustc-link-search = ["libsoundio-1.1.0/x86_64"]
rustc-link-lib = ["libsoundio.a"]

Pero todavía solo pasa"-l" "libsoundio" a gcc y falla con el mismold: cannot find -llibsoundio. ¿Me estoy perdiendo algo realmente obvio? Los documentos parecen sugerir que esto debería funcionar.

Respuestas a la pregunta(4)

Su respuesta a la pregunta