-1
我有一個項目foo
,鏈接到libA
,libB
和libC
。鏈接庫與鏈接庫鏈接相同
現在是與具有項目foo
,這是與libZ
,這是與libA
,libB
和libC
。
我問,因爲我爲SDL2編寫了一個包裝庫,它與lSDL2_image
鏈接。 但是,當我使用我的包裝庫編譯項目時,它抱怨未定義的符號,並且只要我將我的項目鏈接到libSDL2_image
,它也可以工作。
我有一個項目foo
,鏈接到libA
,libB
和libC
。鏈接庫與鏈接庫鏈接相同
現在是與具有項目foo
,這是與libZ
,這是與libA
,libB
和libC
。
我問,因爲我爲SDL2編寫了一個包裝庫,它與lSDL2_image
鏈接。 但是,當我使用我的包裝庫編譯項目時,它抱怨未定義的符號,並且只要我將我的項目鏈接到libSDL2_image
,它也可以工作。
如果任何代碼調用libA
,libB
和libC
中的函數,則鏈接程序在鏈接階段必須瞭解它們以找到被調用的符號。無論調用者是您的主要應用程序還是構成項目一部分的其他庫。
不,您不能將一個庫鏈接到另一個庫。這就是爲什麼當然你會得到鏈接錯誤。最好使用圖書館管理工具將它們合併在一起。 –