rust-sfml 与 cc 链接失败,如何指定 lib/include/share 路径

rust-sfml linking with cc failed, how to specify lib/include/share path

在构建示例,甚至编写使用 rust-sfml 的新项目时,如何指定我的库所在的位置?我目前在 /usr/local/{include,lib,share} 中同时安装了 SFML 和 CSFML,而不是 /usr/{include,lib,share}

cargo 中是否有我可以应用的标志,可以相应地设置 include/library 路径?类似于 cargo build --lib=/usr/local/lib --include=/usr/local/include

here 是 rust-sfml 页面。

链接到 C 库的每个库都需要支持适当的链接器参数,包括查找库本身。似乎有一个 open pull request 添加了对指定 rust-sfml 安装路径的支持。

具体来说,Cargo 允许指定 build script。构建脚本通过将项目打印到标准输出来与 Cargo 通信。在这种情况下,其中两个有趣的值是:

  • rustc-link-lib—表示指定的值应该作为-l标志传递给编译器。
  • rustc-link-search — 指示应将指定值作为 -L 标志传递给编译器。