如何在不链接的情况下编译Rust代码,即生成对象文件?

如何在不链接的情况下编译Rust代码,即生成对象文件?,rust,Rust,因此,在不链接的情况下将Rust代码编译到目标文件将非常有用。但是,我找不到任何关于如何做到这一点的文档。我查看了rustc的“帮助”部分并进行了搜索,但没有找到任何内容,这就引出了我的问题:如何告诉rustc不要链接并生成以后可以链接的对象文件?使用编译器标志--emit=obj cargo rustc -- --emit=obj 编译的对象文件将位于target/debug/deps中 另见: 使用编译器标志--emit=obj cargo rustc -- --emit=obj 编

因此,在不链接的情况下将Rust代码编译到目标文件将非常有用。但是,我找不到任何关于如何做到这一点的文档。我查看了rustc的“帮助”部分并进行了搜索,但没有找到任何内容,这就引出了我的问题:如何告诉rustc不要链接并生成以后可以链接的对象文件?

使用编译器标志
--emit=obj

cargo rustc -- --emit=obj
编译的对象文件将位于
target/debug/deps

另见:


使用编译器标志
--emit=obj

cargo rustc -- --emit=obj
编译的对象文件将位于
target/debug/deps

另见:


嗯,这似乎不起作用。我得到一个
警告:忽略发射路径,因为在运行命令时生成了多个.o文件
并记录了日志,
ls target/debug/deps|egrep'\.o'
不会产生任何结果。同时查看我从ls target/debug/deps获得的结果,我没有看到任何.o文件。这取决于项目,@Newbyte。您可能需要一次指定一个单一的目标板条箱(例如,仅lib)。在答案中添加一个您将如何进行的示例是否合理?我认为我对cargo和rustc不太熟悉,不知道如何做到这一点,我认为这至少与这个问题间接相关。嗯,这似乎不起作用。我得到一个
警告:忽略发射路径,因为在运行命令时生成了多个.o文件
并记录了日志,
ls target/debug/deps|egrep'\.o'
不会产生任何结果。同时查看我从ls target/debug/deps获得的结果,我没有看到任何.o文件。这取决于项目,@Newbyte。您可能需要一次指定一个单一的目标板条箱(例如,仅lib)。在答案中添加一个您将如何进行的示例是否合理?我认为我对cargo和rustc不够熟悉,不知道如何做到这一点,我认为这至少与这个问题间接相关。