2009-09-20 105 views
1

我有兩個qt .pro文件,都使用lib TEMPLATE和staticlib CONFIG。第一個庫(讓我們稱之爲'核心')是第二個庫的依賴關係(我將它稱爲'foo')。實際上,foo中有一個類擴展了一個核心類,我將稱這個類爲Bar。鏈接另一個靜態庫和qmake的靜態庫?奇怪的鏈接錯誤

當我實例化類(其定義和foo中實現,而是擴展一個類(酒吧)的核心)在另一個項目中(而不是庫),我得到以下鏈接錯誤:

/usr/bin/ld: Undefined symbols: 
    Bar::Bar() 

基本上,鏈接器無法找到在foo lib中派生的核心庫中的類,但僅在使用這兩個庫的第三個項目中實例化該類時。預期這種行爲?

問候, 丹奧

更新:我用派生類......沒有人知道我爲什麼要做這之前直接調用在第三個項目的酒吧構造固定呢?

回答

2

問題是訂單。它與靜態庫相關。

更改LIBS行中庫的順序。