====== Rust ====== ===== メモ ===== ABI はアプリケーションバイナリインタフェースの略で、 バイナリレベルでのインターフェースのことをいいます。\\ https://rinatz.github.io/cpp-book/ch11-05-library-updating-and-compatibility/ ==== OpenSSLのビルドエラー ==== Windows版ではエラーはでないが、arm用にクロスビルドしようとするとエラーがでる。\\ cargo build --target armv7-unknown-linux-gnueabihf note: vcpkg did not find openssl: the vcpkg-rs Vcpkg build helper can only find libraries built for the MSVC ABI. 解決できず。 === 対応 === OpenSSLの代わりにRustlsを使う\\ https://blog.mahoroi.com/posts/2020/07/rust-cross-compile-for-raspi-openssl/ [dependencies] reqwest = { version = "0.10", default-features = false, features = ["blocking", "json", "rustls-tls"] } tokio = { version = "0.2", features = ["full"] } === ringのビルドエラー === OpenSSLエラーはなくなったが、「error: failed to run custom build command for `ring v0.16.20`」が出るようになった。 reqwestをやめてureqに変更する。\\ 結局、ureqでも`ring v0.16.20`エラー