我在 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 交叉编译器自行编译它。
关于linux - 尝试包含 -lcrypto 时 RISCV gcc 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48183143/