scons从CPPINCFLAG中删除驱动器号

2024-04-28 23:16:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为arm-eabi-gcc工具链创建了一个SConstruct文件。你知道吗

我有一个添加到环境中的include搜索路径列表,如下所示:

env.Append(CPPPATH = 
[
    '#' + os.path.join(os.getcwd(),'thirdparty','cmsis','inc'),
    '#' + os.path.join(os.getcwd(),'thirdparty','cmsis','dev','ST','STM32F3xx','inc'),
    '#' + os.path.join(os.getcwd(),'thirdparty','hal','inc'),
    '#' + os.path.join(os.getcwd(),'thirdparty','hal','inc','legacy')
]) 

我希望任何-I选项的形式都是-ID:\Code\stm32blinky\thirdparty\hal\inc

然而,Scons转换这些路径的是

-ICode\stm32blinky\thirdparty\hal\inc

导致编译失败。你知道吗

所以在路上的某个地方,驱动器号被丢弃了。你知道吗

打印env['CPPPATH']产生输出:

[
    '#D:\\Code\\stm32blinky\\thirdparty\\cmsis\\inc',
    '#D:\\Code\\stm32blinky\\thirdparty\\cmsis\\dev\\ST\\STM32F3xx\\inc',    
    '#D:\\Code\\stm32blinky\\thirdparty\\hal\\inc',     
    '#D:\\Code\\stm32blinky\\thirdparty\\hal\\inc\\legacy'
]

所以我猜当Scons从$cppppath变量生成$CPPINCFLAGS变量时会发生这种情况。你知道吗

Scons中的什么决定了CPPPATH条目的呈现方式?你知道吗


Tags: pathdev路径envoscodesconshal