lv_binding_rust icon indicating copy to clipboard operation
lv_binding_rust copied to clipboard

fix: fixed compile-time errors during cross-compiling

Open chiichen opened this issue 1 year ago • 0 comments

Delete Target specification

This part of the code tells us that calling bingen in the build script will automatically check TARGET and generate the corresponding clang_args without us having to enter it ourselves. And typing clang_args ourselves will cause problems. For example, when riscv64gc-unknown-none-elf is used as the target, the corresponding value in clang should be --target riscv64-unknown-none-elf instead of --target riscv64gc-unknown-none-elf , and this escaping operation is performed in bindgen, but if we specify --target riscv64gc-unknown-none-elf through clang_args, this escaping logic will be skipped(details here), making it impossible to generate the correct clang_args

Add include path

In cross compilation, errors such as <inttype>not found always appeared, and I found that this was due to the include path problem. When the driver feature is not turned on, the include path may not contain /usr/include, /usr/local/include. After my testing, even adding these two paths to the PATH environment variable will not take effect. I It was found that only by adding these two paths to build.rs can the compilation pass smoothly.

chiichen avatar Mar 02 '24 06:03 chiichen