scons编译器路径包含空格

标签 scons

我有一个工具链,不在路径上,安装在包含空格的位置(C:\Program Files\Some Compiler\)。我试过:

env = Environment(
    MY_TOOLCHAIN_ROOT = R'C:\Program Files\Some Compiler\',
    MY_TOOLCHAIN_BIN = R'$MY_TOOLCHAIN_ROOT\bin',
)
env.Replace(
    CC = "$MY_TOOLCHAIN_BIN/gcc",
    CXX = "$MY_TOOLCHAIN_BIN/g++",
    OBJCOPY = "$MY_TOOLCHAIN_BIN/objcopy"
)

env.Program('main.cpp')

但我收到错误

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

如何让 scons 引用空格?

最佳答案

似乎我需要将它们标记为文件:

env.Replace(
    CC = env.File("$MY_TOOLCHAIN_BIN/gcc"),
    CXX = env.File("$MY_TOOLCHAIN_BIN/g++"),
    OBJCOPY = env.File("$MY_TOOLCHAIN_BIN/objcopy")
)

关于scons编译器路径包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21242840/

相关文章:

c++ - 与 clang++ 和 scons 链接的正确方法

c++ - 通过 SConstruct 链接以 boost

python - 对 `scons -c` 执行自定义操作

c++ - SCons:递归扩展库依赖

touch - 相当于 scons 中的 "touch"?

python - SCons:修改中间构建器调用

python - SCons - 转换目录中的所有图像

compilation - 如果保留二进制文件,删除目标文件是否安全?

c++ - 构建 jsoncpp (Linux) - 给我们凡人的指令?

c - makefile 在 Scons 中定义等效项