说明:我创建了一个STM32项目,目标是获得一个独立于平台的构建和输出文件,如.hex、.bin和.elf。为此,我在CMake构建系统下创建了项目。CMake配置设置和工具链设置已经完成。但是,在构建阶段接近尾声时,我遇到了这个错误。
链接器标志:在"compiler_flags.cmake“文件下。
...
set(LD_FLAGS "-Wl,-Map=${PROJECT_BINARY_DIR}/${CMAKE_PROJECT_NAME}.map,--cref -T${LD_SCRIPT} -Wl,--gc-sections -static,--specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wl,--defsym,__cxa_pure_virtual=1 -Wl,--start-group -lc -lm -Wl,--end-group")错误输出:
...
...
...
Assembler messages:
Fatal error: bad defsym; format is --defsym name=value
ninja: build stopped: subcommand failed.发布于 2022-06-16 10:21:52
您的LDFLAGS有错误:
-Wl, --gc-sections
-defsym ... __cxa_pure_virtual=1中不应该有空格,应该改为-Wl,--defsym,__cxa_pure_virtual=1发布于 2022-06-17 16:08:33
错误的来源在汇编程序编译器工具链定义中。通过键入arm-none-eabi-gcc.exe而不是arm-none-eabi-as.exe解决了这个问题。
https://stackoverflow.com/questions/72643992
复制相似问题