linux - 尝试包含 -lcrypto 时 RISCV gcc 的编译错误

标签 linux ubuntu gcc ld

我在 Ubuntu Linux 上运行 openssl 基准测试。最初,缺少库存在一些问题。后来我通过使用安装命令 sudo apt-get install libssl-dev 安装库来修复它。当我使用 gcc 命令 gcc sha256t.c -o sha -lcrypto 编译时,它生成二进制文件,但是当使用 RISCV gcc 命令编译时 riscv64-unknown-elf-gcc sha256.S -o sha。 riscv -lcrypto,它抛出以下链接错误。

/home/user_name/fpga-zynq/rocket-chip/riscv-tools/riscv/lib/gcc/riscv64-unknown-elf/6.1.0/../../../../riscv64- unknown-elf/bin/ld: 找不到 -lcrypto collect2:错误:ld 返回了 1 个退出状态。

在这种情况下如何链接 -lcrypto。

最佳答案

您需要为 riscv64 架构编译的 libcrypto。

您使用 sudo apt-get install libssl-dev 安装的是为您的主机架构(可能是 x86_64)编译的 libcrypto,它不能用于交叉编译。

如果您找不到为 riscv64 预构建的 libcrypto,您可能必须使用您正在使用的相同 riscv64 交叉编译器自行编译它。

这就是自动化 yoctobuildroot是关于。

关于linux - 尝试包含 -lcrypto 时 RISCV gcc 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48183143/

相关文章:

linux - 内核、内核线程和用户线程之间的区别

python - 警告 : failed to read path from javaldx

linux - Vala/GTK3 设置控件高度

linux - 两个组播问题

linux - Windows 操作系统上来自 python 的 Neo4j 服务器 API

bash - "bad variable name"使用 "read var"

c++ - Boost 日志、GCC 4.4 和 CMake

C++ 开始()和结束()

c++ - 自动选择目标文件进行编译

linux - 使用驱动程序注册(/绑定(bind)/匹配)设备