【问题标题】:Link ARM C and Rust链接 ARM C 和 Rust
【发布时间】:2021-03-17 18:17:11
【问题描述】:

我一直在尝试获取一个 C 文件以从 Rust 库中为 arm 调用一个函数。编译我试过:

cargo build --target=armv7-unknown-linux-gnueabihf
arm-linux-gnueabi-gcc main.c target/armv7-unknown-linux-gnueabihf/debug/libmyLib.a -o main

我收到此错误:

error adding symbols: file in wrong format collect2: error: ld returned 1 exit status

出于某种原因,为 x86 编译并使用常规 gcc 可以正常运行和编译。

【问题讨论】:

  • 这给出了一个不同的错误 arm-linux-gnueabi-gcc -L. target/armv7-unknown-linux-gnueabihf/debug/libmylib.a main.c -o main undefined reference to `rust_function' collect2: error: ld returned 1 exit status 这个错误是由被调用的外部函数引起的,这可能意味着这些文件没有正确链接。
  • 您找到答案了吗?我遇到了同样的错误,不知道下一步该去哪里调查。
  • 不抱歉,我有一段时间没有回到这个话题了。

标签: c gcc rust compiler-errors arm


【解决方案1】:

问题是我使用 armv7-unknown-linux-gnueabihf 目标 (armv7) 编译 Rust,使用 arm-linux-gnueabi-gcc (armv6) 编译 C。

使用arm-linux-gnueabihf-gcc

【讨论】:

    猜你喜欢
    • 2020-12-16
    • 2019-11-24
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多