在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
?
cargo
提供rustc
允许传递任意编译器标志的命令.以下应该这样做:
% cargo rustc -- -C link-args='-Wl,-undefined,dynamic_lookup'