Khi tôi gọi người xây dựng Program(Target, Source, CXXFLAGS=CompileFlags)
giá trị của chuỗi CompileFlags chứa -Wl,-rpath,lib:$ORIGIN/../lib
khiến $ ORIGIN được mở rộng thành chuỗi rỗng, trong khi nó phải được giữ nguyên như cũ.
Tôi đã cố gắng thoát dấu đô la, thêm dấu nháy đơn bên trong, không có gì hữu ích.
env['RPATH'] = Literal('lib:$ORIGIN/../lib')
cũng không hoạt động: nó tạo ra
g++ -o main -Wl,-rpath=lib:/../lib
trong dòng lệnh mặc dù man page nói "các đường dẫn bổ sung vào rPath không biến đổi bởi scons dưới mọi hình thức" vì vậy nó phải làm việc ngay cả khi không có Literal(), tôi đoán vậy.
Vậy làm cách nào tôi có thể thêm cờ trình biên dịch có chứa $ TEXT mà không có SCON cố gắng mở rộng nó dưới dạng biến?
Cảm ơn.
Cảm ơn! Nó hoạt động. – jackhab