#solace #binding #build #generated #api #distribute #lib

solace-sys

由 bindgen 生成的 Solace 绑定

1 个不稳定版本

0.1.0 2022年2月13日

#2 in #solace

MIT 许可证

140KB
3K SLoC

由 bindgen 生成的绑定到 Solace C 库 solclient-7.21.0.5。

很遗憾,我无法分发 Solace C 库。您必须从 https://solace.com/downloads/ 下载。从该 URL 下载时,请选择过滤器 Solace APIs 并下载 C API。

我只测试了 Intel Mac 的 API。

解压下载的存档并将 Solace 库复制到目录 lib。要将它们与您的程序链接,请添加以下内容的构建脚本 build.rs

use std::env;
use std::path::Path;

fn main() {
    let target = env::var("TARGET").unwrap();
    let manifest_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
    let lib_dir = Path::new(&manifest_dir).join("lib").to_str().unwrap().to_string();

    if target == "x86_64-apple-darwin" {
        println!("cargo:rustc-link-lib=framework={}", "kerberos");

        println!("cargo:rustc-link-search=native={}", lib_dir);
        println!("cargo:rustc-link-lib=dylib={}", "crypto");
        println!("cargo:rustc-link-lib=dylib={}", "ssl");
        println!("cargo:rustc-link-lib=dylib={}", "solclient");
        println!("cargo:rustc-link-lib=dylib={}", "solclientssl");
    } else {
        panic!("Unknown target {}", target)
    }
}

如果您不是使用 Intel Mac,您可能需要修改此脚本,并且它可能根本不起作用 :-/

无运行时依赖