[Scons] [Linker]无法找到链接描述文件

时间:2017-02-10 15:04:36

标签: c linker scons

我尝试使用scons构建一个简单的hello world项目,显式设置链接器标志以读取自定义链接描述文件:

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

此问题的任何解决方案或任何想法为何会发生这种情况?

1 个答案:

答案 0 :(得分:0)

实际上我找到了解决这个问题的方法,即指定链接描述文件的路径而没有来自-T的任何空格,例如。

env.Append(LINKFLAGS = [
    '-Tscript/linker_script.ld'
    ])

在这种情况下,SCons在将参数传递给可执行文件时不会将参数“作为字符串”放在参数附近。