rust 如何使用自定义 gcc 编译静态库呢

原文英文,约100词,阅读约需1分钟。发表于:

我想使用自定义 gcc 编译程序并生成静态库 我通过创建一个 target 来使用自定义的 gcc,但是编译会报错 这是错误信息 error: data-layout for target `test-15916131297364407962`, `e-m:e-p:32:32-n32-S32`, differs from LLVM target's `riscv32-none-elf-gcc` default layout, `e-m:e-p:32:32-i64:64-n32-S128` target json 文件如下 { "arch": "riscv32", "cpu": "generic-rv32", "crt-objects-fallback": "false", "data-layout": "e-m:e-p:32:32-n32-S32", "eh-frame-header": false, "emit-debug-gdb-scripts": false, "features": "+m,+a,+c", "linker": "C:\\Program Files (x86)\\RV32-Toolchain\\RV32-V2\\bin\\riscv32-elf-gcc.exe", "linker-flavor": "gcc", "llvm-target": "riscv32-none-elf-gcc", "max-atomic-width": 0, "panic-strategy": "abort", "relocation-model": "static", "target-pointer-width": "32", "pre-link-args": { "gcc": [ "-Wall -march=rv32imacxbs1 -ffunction-sections -fdata-sections -msave-restore -mjump-tables-in-text", "-Os" ] } }

该文章讨论了使用自定义gcc编译程序并生成静态库时遇到的问题。作者创建了一个目标来使用自定义的gcc,但是编译时出现错误。错误信息显示目标的数据布局与LLVM目标的默认布局不同。作者提供了目标的JSON文件,其中包含了一些配置信息。

相关推荐 去reddit讨论