Когда я вызываю построитель Program (Target, Source, CXXFLAGS = CompileFlags)
, значение строки CompileFlags содержит - Wl, -rpath, lib: $ ORIGIN /../ lib
, в результате чего $ ORIGIN будет расширен до пустой строки, хотя он должен быть сохранен как есть.
Я попытался избежать знака доллара, добавив внутрь одинарные кавычки, ничего не помогает.
env ['RPATH'] = Literal ('lib: $ ORIGIN /../ lib')
тоже не работает: выдает
g ++ -o main -Wl, -rpath = lib: /../ lib
в командной строке, хотя на странице руководства сказано: «Пути, добавленные в RPATH, никаким образом не преобразуются scons» , поэтому он должен работать даже без Literal () , Я думаю.
Итак, как я могу добавить флаг компилятора, содержащий $ TEXT, без SCons пытаетесь раскрыть его как переменную?
Спасибо.