Я пытаюсь использовать Rust в существующем встроенном проекте C на микроконтроллере M0 +. Я использую Keil IDE для компиляции кода.
Я могу получить библиотеку lib.a
stati c для генерации, но когда я пытаюсь скомпилировать ее в свой проект, я получаю сообщение об ошибке, говорящее, что она не может связать, потому что
... wchart-16 конфликтует с wchart-32.
Поскольку это уже существующий проект, я не могу изменить используемый размер wchar_t
.
Есть ли способ изменить размер wchar_t
, чтобы использовать 16 бит в скомпилированной библиотеке Rust?
Файлы
lib.rs
#![no_std]
extern crate panic_halt;
#[no_mangle]
pub extern "C" fn rust_function() {
}
Авто go .томл
[package]
# package info is here
[dependencies]
panic-halt = "0.2.0"
[lib]
name = "app_interface"
crate-type = ["staticlib"] # Creates static lib
груз \ конфиг
[target.thumbv7m-none-eabi]
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
rustflags = [
"-C", "link-arg=-Tlink.x",
]
[build]
target = "thumbv6m-none-eabi"