jerry尧 发表于 2025-10-24 11:36

进行发布版本(release)构建时会出现错误

为什么我进行发布版本(release)构建时会出现这些错误,而进行调试版本(debug)构建时却没有错误呢?构建前清理(clean)也没有效果。

21:46:25 **** Incremental Build of configuration Release for project I2S-RXTX-F7 ****
make -j4 all
arm-none-eabi-g++ -o "I2S-RXTX-F7.elf" @"objects.list" -larm_cortexM7lfdp_math -mcpu=cortex-m7 -T"/home/jponko/opt/STM32CubeIDE/workspace/I2S-RXTX-F7/STM32F767ZITX_FLASH.ld" -Wl,-Map="I2S-RXTX-F7.map" -Wl,--gc-sections -static -Wl,--start-group -larm_cortexM7lfdp_math -Wl,--end-group -L"/home/jponko/opt/STM32CubeIDE

/workspace/I2S-RXTX-F7/lib" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb

-Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group

/opt/st/stm32cubeide_1.6.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.linux64_1.5.0.202011040924/tools/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: Core/Startup/startup_stm32f767zitx.o: in function `LoopFillZerobss':

(.text.Reset_Handler+0x32): undefined reference to `main'

collect2: error: ld returned 1 exit status

make: *** Error 1

"make -j4 all" terminated with exit code 2. Build might be incomplete.

21:46:26 Build Failed. 3 errors, 0 warnings. (took 524ms)

stormwind123 发表于 2025-10-27 16:04

可能优化级别过高导致某些符号被错误优化。

七毛钱 发表于 2025-10-27 17:04

链接器脚本配置可能有错误,导致 main() 未被正确包含。

内政奇才 发表于 2025-10-27 19:05

检查 main() 是否被正确编译

海滨消消 发表于 2025-10-27 20:06

可能IDE配置存在错误

故里说长安 发表于 2025-10-27 21:07

完全清理并重新构建

在海边聆听 发表于 2025-10-27 22:07

检查一下链接器脚本和库依赖。

kmnqhaha 发表于 2025-10-27 23:45

常规的 “Clean” 可能未清除 Release 模式的所有中间文件,手动删除 Release 模式的构建目录后重试
页: [1]
查看完整版本: 进行发布版本(release)构建时会出现错误