将codegen标志添加到Cargo构建中

sol*_*ack 9 rust rust-cargo

在Macintosh上,要允许某些符号取消链接,必须传递-C link-args='-Wl,-undefined,dynamic_lookup'给Rust编译器.在构建Postgres插件时需要这样做,因为一些Postgres内在函数只编译到Postgres服务器中,并且不能用于从共享库链接.

目前,该项目的流程如下:

  • 构建运行cargo build -v.
  • 将失败的呼叫rustc复制并-C link-args='-Wl,-undefined,dynamic_lookup'添加到其中.
  • 成功!

这对于自动化来说似乎很难卖.有哪些选项可用于向Rust构建中添加codegen标志cargo

Vla*_*eev 9

cargo提供rustc允许传递任意编译器标志的命令.以下应该这样做:

% cargo rustc -- -C link-args='-Wl,-undefined,dynamic_lookup'
Run Code Online (Sandbox Code Playgroud)

  • 这很有帮助,谢谢.但是,我不确定接受这个,因为它没有提供记录和自动化构建过程的方法. (2认同)