我正在使用premake5在多個平臺上構建複雜的應用程序。我的應用程序鏈接靜態和共享/動態外部庫。 在這種情況下,似乎有很大的構建鏈依賴關係會打破預生成的「gmake」make文件。混合共享庫和靜態庫
案例:
如果混合使用共享和premake靜態庫「鏈接」語句,GCC似乎感到困惑,並期待您的共享庫引用實際上是靜態庫。當它找不到它們時,鏈接階段失敗。這通常是通過用'-Bdynamic'前綴共享庫來處理的。不幸的是,沒有辦法告訴premake5外部鏈接庫是靜態的還是動態的,所以你必須手動修改make文件,這會破壞構建實用程序的目的。
這是一種showstopper。我不認爲你可以在鏈接選項中添加「-Bdynamic」,因爲它必須跟着共享庫列表。
絕對屬於「缺少的功能」。這已經出現了好幾次,不難解決;我根本沒有帶寬來自己解決它。 – starkos
如果沒有別的,我想我可以解決在gcc構建中使用後處理腳本。 – eris0xff
作爲對此的後續。我注意到,如果我手動將靜力學重新組合在一起,然後出於某種原因,我不需要顯式的「-Bstatic」和「-Bdynamic」。我會看看我能否進一步追蹤這一點。 – eris0xff