2016-03-13 106 views
-1

我有一個項目foo,鏈接到libA,libBlibC鏈接庫與鏈接庫鏈接相同

現在是與具有項目foo,這是與libZ,這是與libAlibBlibC

我問,因爲我爲SDL2編寫了一個包裝庫,它與lSDL2_image鏈接。 但是,當我使用我的包裝庫編譯項目時,它抱怨未定義的符號,並且只要我將我的項目鏈接到libSDL2_image,它也可以工作。

+0

不,您不能將一個庫鏈接到另一個庫。這就是爲什麼當然你會得到鏈接錯誤。最好使用圖書館管理工具將它們合併在一起。 –

回答

1

如果任何代碼調用libA,libBlibC中的函數,則鏈接程序在鏈接階段必須瞭解它們以找到被調用的符號。無論調用者是您的主要應用程序還是構成項目一部分的其他庫。