rust+c的混合模式链接成功

This commit is contained in:
zqm
2026-03-31 15:50:35 +08:00
parent cdf64fa31f
commit 2aea8864e9
13 changed files with 34537 additions and 16122 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
1f5d05e6d6f8486ae7ff4e302d20fa5c41b3fd8d
cdf64fa31f65a00a09c5dc43b8c593b02ccc5650

View File

@@ -118,3 +118,59 @@
11855 12003 7966267825941242 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
12 151 7966291665990861 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
12 151 7966291665990861 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 182 7966295290795341 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 182 7966295290795341 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
84 230 7966310515861348 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
84 230 7966310515861348 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
17 115 7966314300014278 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
17 115 7966314300014278 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
10 124 7966317661526594 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
10 124 7966317661526594 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
13 111 7966321479213903 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
13 111 7966321479213903 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
12 135 7966343566537121 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
12 135 7966343566537121 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
13 144 7966346780895737 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
13 144 7966346780895737 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 161 7966373945729594 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 161 7966373945729594 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
36 148 7966374083799855 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
36 148 7966374083799855 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 145 7966382816389419 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 145 7966382816389419 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
21 150 7966388702382661 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
21 150 7966388702382661 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
38 139 7966389110303630 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
38 139 7966389110303630 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
10 118 7966392654896960 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
10 118 7966392654896960 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
11 149 7966394179176194 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
11 149 7966394179176194 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 115 7966397578789003 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 115 7966397578789003 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 110 7966402595372830 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 110 7966402595372830 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 124 7966402845544128 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 124 7966402845544128 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
29 146 7966406215677852 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
29 146 7966406215677852 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 133 7966406293606112 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 133 7966406293606112 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 116 7966409711161772 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
19 116 7966409711161772 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 119 7966409785749951 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 119 7966409785749951 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
11 125 7966412568082013 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
11 125 7966412568082013 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 120 7966416003164565 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 120 7966416003164565 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 107 7966418601798678 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
14 107 7966418601798678 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 187 7966431170269172 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 187 7966431170269172 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
20 185 7966435767189871 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
20 185 7966435767189871 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 113 7966443656585801 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
15 113 7966443656585801 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 121 7966452986458861 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
16 121 7966452986458861 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"version": "1.2",
"project_name": "my_usb_project",
"project_version": "1f5d05e-dirty",
"project_version": "cdf64fa-dirty",
"project_path": "D:/Projects/trunk/JoyD/ESP32/my_usb_project",
"idf_path": "D:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6",
"build_dir": "D:/Projects/trunk/JoyD/ESP32/my_usb_project/build",
@@ -835,7 +835,7 @@
"managed_reqs": [],
"managed_priv_reqs": [ "espressif__esp_tinyusb" ],
"file": "D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/esp-idf/main/libmain.a",
"sources": [ "D:/Projects/trunk/JoyD/ESP32/my_usb_project/main/my_usb_project.c" ],
"sources": [ "D:/Projects/trunk/JoyD/ESP32/my_usb_project/main/my_usb_project.c", "D:/Projects/trunk/JoyD/ESP32/my_usb_project/rust_app/rust_app_wrapper.c" ],
"include_dirs": [ "." ]
},
"mbedtls": {

View File

@@ -1,4 +1,4 @@
@echo off
cd rust_app
cargo +esp build --target xtensa-esp32s3-none-elf
cargo +esp build --target xtensa-esp32s3-none-elf -Zbuild-std=core,alloc
cd ..

View File

@@ -1,5 +1,10 @@
idf_component_register(SRCS "my_usb_project.c"
idf_component_register(SRCS "my_usb_project.c" "../rust_app/rust_app_wrapper.c"
INCLUDE_DIRS "."
PRIV_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../rust_app")
target_link_libraries(${COMPONENT_LIB} INTERFACE "-L${CMAKE_CURRENT_LIST_DIR}/../rust_app/target/xtensa-esp32s3-none-elf/debug" "-lrust_app")
set(RUST_LIB_PATH "${CMAKE_CURRENT_LIST_DIR}/../rust_app/target/xtensa-esp32s3-none-elf/debug/librust_app.a")
message(STATUS "Rust library path: ${RUST_LIB_PATH}")
# 直接将 Rust 库添加到链接器命令中
add_prebuilt_library(rust_app_lib "${RUST_LIB_PATH}" REQUIRES "")
target_link_libraries(${COMPONENT_LIB} INTERFACE rust_app_lib)