我試圖讓SCons創建一個共享庫。進入.so
的項目之一是一個.a
靜態庫。SCons與靜態庫(.a)共享庫(.so)
我有這樣一句臺詞:
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
任何想法讓這個工作或任何解決方法將大大appr eciated。
相關問題:我怎麼scons的把LINK命令行上附加的字符串-shared
爲Program()
電話嗎?如果我能做到這一點,我認爲它會滿足我的需求。
我認爲你是對的。一個具有使用的.o -fPIC沒有取得文件。然而,g ++ -m32共享......仍然以某種方式工作。 – xavjuan 2010-02-11 23:40:34
我回去了,並且使用-fPIC編譯了.a文件,但這似乎沒有幫助。 – xavjuan 2010-02-12 02:08:22
LINKFLAGS很有幫助。謝謝。 – xavjuan 2010-02-16 16:08:29