Я пишу программу на Rust с некоторой интеграцией C, поэтому я использую собственный скрипт сборки. В этом сценарии я передаю -L <path to library>
в rustc
, но это работает, только если <path to library>
не содержит пробела.
Точная линия в build.rs
:
println!(r"cargo:rustc-flags= -L {}/target/sdsl/sdsl_install/lib -l sdsl -l divsufsort -l divsufsort64 -l stdc++", current_dir);
Если current_dir
содержит пробел, я получаю эту ошибку
error: Only `-l` and `-L` flags are allowed in build script of `top_tree_compression v0.1.0 (file:///home/jan/Uni/Bachelorarbeit/Programme/Top_Tree%20Compression)`: `-L /home/jan/Uni/Bachelorarbeit/Programme/Top_Tree Compression/target/sdsl/sdsl_install/lib -l sdsl -l divsufsort -l divsufsort64 -l stdc++`
Я пытался написать \
перед пробелом, чтобы избежать его, но это выдает мне ту же ошибку. Затем я попытался заменить пробел на %20
, потому что в сообщении об ошибке пробел был заменен этим, но затем я получаю ошибку компоновки, потому что путь неверен.