2012-04-02 39 views
0

因此,假設我已經從Ubuntu存儲庫安裝了SFML 1.6 C++庫。然後,我在/ usr/include/SFML中的頭文件,/ usr/lib中的庫文件等。在Unix上安裝庫的多個副本

現在我還下載了最近的源代碼tarball,並在/ usr/local中構建並安裝了SFML 2.0。

所以默認情況下,如果我#include,它從/ usr/local/include獲得SFML 2.0副本。同樣,它鏈接到來自/ usr/local/lib的庫。

我的問題是,我如何告訴編譯器/鏈接器從/ usr/include和/ usr/lib獲取文件?我試過 g ++ -I/usr/include 但它沒有工作。這可能嗎?或者,我應該只將「自建的」副本保留在非系統位置?

+2

通常通過GCC搜索'/ usr/local'優先於其他目錄,爲了改變這種情況,你可能必須破解* spec文件*,這是不建議的。如果你不想使用SFML 2.0,那麼刪除它,一切都會好的。如果你仍然想保留它,那麼把它安裝到'/ usr/local/sfml2'這樣的地方,除非你告訴它,否則g ++不會找到它。 – trojanfoe 2012-04-02 10:17:38

回答

1

檢查ldconfig命令。我想運行它的新版本庫的目標文件夾應該做的伎倆。