ABI はアプリケーションバイナリインタフェースの略で、 バイナリレベルでのインターフェースのことをいいます。
https://rinatz.github.io/cpp-book/ch11-05-library-updating-and-compatibility/
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"] }
OpenSSLエラーはなくなったが、「error: failed to run custom build command for `ring v0.16.20`」が出るようになった。
reqwestをやめてureqに変更する。
結局、ureqでも`ring v0.16.20`エラー