首页 > 解决方案 > 如何解决 Arduino 代码 ESP32 Board + PS4 控制器中的此错误

问题描述

在此错误消息的末尾有“退出状态1”

为板 ESP32 开发模块编译错误。

有人可以解释一下它的含义(原因)以及如何解决它吗?

Arduino: 1.8.13 (Windows 10), Board: "ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600 , 没有任何”

编译内核...使用预编译内核:C:\Users\Zero\AppData\Local\Temp\arduino_cache_137710\core\core_faddaac1d69e7dde1f9d30f3045a530a.a 将所有内容链接在一起...“C:\Users\Zero\AppData\Local\Arduino15\packages \esp32\tools\xtensa-esp32-elf-gcc\1.22.0-97-gc752ad5-5.2.0/bin/xtensa-esp32-elf-gcc" -nostdlib "-LC:\Users\Zero\AppData\Local\ Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/lib" "-LC:\Users\Zero\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk /ld" -T esp32_out.ld -T esp32.project.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.libgcc.ld -T esp32.rom.spiram_incompatible_fns.ld -u esp_app_desc -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -Wl,--start-group "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\sketch\Pokus_o_Arduino_PS4_a_GPIO-23_50Hz_1000-2000us_do_ODrivu.ino.cpp.o" "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658 \libraries\ESP32Servo\ESP32PWM.cpp.o" "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\ESP32Servo.cpp.o" "C:\Users\Zero\AppData\Local\Temp \arduino_build_197658\libraries\ESP32Servo\ESP32Tone.cpp.o" "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\analogWrite.cpp.o"\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\ESP32Servo.cpp.o" "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\ESP32Tone.cpp.o" " C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\analogWrite.cpp.o"\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\ESP32Servo.cpp.o" "C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\ESP32Tone.cpp.o" " C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\ESP32Servo\analogWrite.cpp.o"

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4.co”

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co”

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_parser.co”

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_spp.co”

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\PS4Controller.cpp.o”

“C:\Users\Zero\AppData\Local\Temp\arduino_cache_137710\core\core_faddaac1d69e7dde1f9d30f3045a530a.a”-lgcc -lesp_websocket_client -lwpa2 -ldetection -lesp_https_server -lwps -lhal -lconsole -lpe -lsoc -lsdmmc -lpthread -llog -lesp_http_client -ljson -lmesh -lesp32-camera -lnet80211 -lwpa_supplicant -lc -lmqtt -lcxx -lesp_https_ota -lulp -lefuse -lpp -lmdns -lbt -lwpa -lspiffs -lheap -limage_util -lunity -lrtc -lmbedtls -lface_recognition -lnghttp -ljsmn -lpenssl -lcore -lfatfs -lm -lprotocomm -lsmartconfig -lxtensa-debug-module -ldl -lesp_event -lesp-tls -lfd -lespcoredump -lesp_http_server -lfr -lsmartconfig_ack -lwear_levelling -ltcp_transport -llwip -lphy -lvfs -lcoap -lesp32 -llibsodium -lbootloader_support -ldriver -lcoexist -lasio -lod -lmicro-ecc -lesp_ringbuf -ldetection_cat_face -lapp_update -lespnow -lface_detection -lapp_trace -lnewlib -lbtdm_app -lwifi_provisioning -lfreertos -lfreemodbus -lethernet -lnvs_flash -lspi_flash -lc_nano-lexpat -lfb_gfx -lprotobuf -c -lesp_adc_cal -ltcpip_adapter -lstdc++ -Wl,--end-group -Wl,-EL -o

“C:\Users\Zero\AppData\Local\Temp\arduino_build_197658/Pokus_o_Arduino_PS4_a_GPIO-23_50Hz_1000-2000us_do_ODrivu.ino.elf”

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:(.literal.gapInitService+0x1c):未定义对“GAP_ConnOpen”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:(.literal.gapEventHandle+0xc):未定义对“GAP_ConnGetL2CAPCid”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:(.literal.gapEventHandle+0x10):未定义对“GAP_ConnBTRead”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:(.literal.gapSendHid+0x14):未定义对“GAP_ConnBTWrite”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:在函数“gapInitService”中:

C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3\src/ps4_gap.c:48:未定义对“GAP_ConnOpen”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:在函数“gapUpdateConnected”中:

C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3\src/ps4_gap.c:48:未定义对“GAP_ConnGetL2CAPCid”的引用

C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3\src/ps4_gap.c:48:未定义对“GAP_ConnGetL2CAPCid”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:在函数“gapEventHandle”中:

C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3\src/ps4_gap.c:48:未定义对“GAP_ConnBTRead”的引用

C:\Users\Zero\AppData\Local\Temp\arduino_build_197658\libraries\PS4-esp32-master-AED3\ps4_gap.co:在函数“gapSendHid”中:

C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3\src/ps4_gap.c:88: undefined reference to `GAP_ConnBTWrite' collect2.exe: error: ld returned 1 exit status

在文件夹中使用版本 0.9.0 的库 ESP32Servo:C:\Users\Zero\Documents\Arduino\libraries\ESP32Servo

在文件夹中使用版本 2.0 的库 PS4-esp32-master-AED3:C:\Users\Zero\Documents\Arduino\libraries\PS4-esp32-master-AED3

退出状态 1

为板 ESP32 开发模块编译错误。

标签: arduino

解决方案


你的 Arduino IDE 是什么版本的?我在使用 1.5.x 版本时已经遇到了这个错误,所以我重新安装了 1.6.x 版本并编译了代码。

这种链接器 (ld) 错误通常意味着函数已声明(可能在头文件中)但实际上并未定义(通常在 .cpp 文件中完成)。这可能是因为该库没有正确和完整地安装。


推荐阅读