Я пытаюсь использовать SCons построить простой привет мир проекта, явно устанавливая компоновщика флаги для чтения пользовательского компоновщика сценария:[Scons] [Linker] Невозможно найти компоновщик скрипт
env.Append(LINKFLAGS = [
'-T script/linker_script.ld'
])
Проблема в том, что, когда это выполняется, SCons ставит двойные кавычки «» вокруг -T опции, что приводит к чему-то вроде этого:
arm-none-eabi-ld -o bareMetalStartupScons.elf "-T script/linker_script.ld" src/main.o asm/startup.o
arm-none-eabi-ld: cannot open linker script file script/linker_script.ld: No such file or directory
сценарий есть, и если я просто удалить двойные кавычки и выполнить команду вручную, он завершается без ошибок, например
arm-none-eabi-ld -T script/linker_script.ld src/main.o asm/startup.o
Любое решение по этой проблеме или любая идея, почему это происходит?
Да, если в аргументе есть (белое) пространство, то SCons его процитирует. Вы также можете использовать LINKFLAGS = ['- T', 'script/linker_script.ld']. – bdbaddog