LVGL bindings for Rust. A powerful and easy-to-use embedded GUI with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).
MIT License
687
stars
71
forks
source link
fix: fixed compile-time errors during cross-compiling #161
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.
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
throughclang_args
, this escaping logic will be skipped(details here), making it impossible to generate the correctclang_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 tobuild.rs
can the compilation pass smoothly.