< 返回版块

bell 发表于 2022-05-06 21:58

rust调用C++代码,C++代码采用build.rs用的是rust的cmake库,最终整个生成的是动态链接库,在windows10上能够完全编译通过,并能使用。现在想在win10上跨平台编译linux版本的,除了用rustup修改成target,还需要做其他的事嘛?

评论区

写评论
Aya0wind 2022-05-07 11:52

主要看你cmake怎么写的话,你这个属于交叉编译了,rust本身倒是对这个支持的很好,直接改target就行,不然确实不用改别的了。主要是你的ffi库部分,需要单独的交叉编译的工具链,比如你windows下cmake调的是msvc,那你交叉编译,就得调你交叉编译的工具链了。
所以建议直接用docker编译,就没有这些破事了,rust还有一个专门用于使用docker进行交叉编译的crate,叫cross。

1 共 1 条评论, 1 页