Я пытаюсь заставить SCons создать общую библиотеку.Одним из элементов, входящих в .so
, является .a
статическая библиотека.
У меня есть строка вроде:
env_2.SharedLibrary('libstuff.so', \
Split("""stuff.cxx mylib/libMine.a""")
И после запуска я получаю эту ошибку:
scons: *** Source file: mylib/libMine.a \
is static and is not compatible with shared target: libstuff.so
Однако я знаю, что совместно с .a
можно создать общую библиотеку с помощью такой команды:
g++ -m32 -shared -o libstuff.so stuff.o mylib/libMine.a
Любые идеи о том, как заставить это работать, или любые обходные путис благодарностью.
Смежный вопрос: Как заставить scons добавить дополнительную строку -shared
в командную строку LINK для вызова Program()
?Если бы я мог сделать это, я думаю, что это удовлетворило бы мои потребности.