fix: fixed compile-time errors during cross-compiling #161
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.