我有關於Linux上鍊接的以下問題:混合靜態和共享庫時鏈接器的依賴關係
假設我有一個使用Qt的Foo類。要構建這個類,我必須使用qmake來生成Makefile。
後來我想用這個類Foo作爲Perl模塊,它是一個共享庫。但是,爲了構建它,我必須使用Perl的MakeMaker來生成它自己的Makefile。
我現在這樣做的方式是將類Foo創建爲靜態庫,並在構建Perl模塊的共享庫時將其鏈接到Foo的靜態庫。
問題是,當構建Perl模塊的共享庫時,我必須將它鏈接到Foo的靜態庫所鏈接的所有Qt庫。
所以,問題是:
請問這種做法甚至有意義?
是否有可能以構建Foo的靜態庫的方式構建Perl模塊的共享庫時不必指定所有依賴關係? (因爲將所有這些依賴添加到模塊的Makefile中有點難)
如果Foo的庫是共享的,而不是靜態的,它會有什麼不同嗎?
是的,我知道。 Qt的靜態鏈接很痛苦。我想我必須堅持使用共享庫。 – JackTheRandom