2013-08-22 33 views
0

我想在我的實現中使用一些其他項目庫。該項目有一個/共同文件夾,其中我想包括圖書館所在的位置。在我LDLIBSOPTIONS下生成文件,我包括在那裏/常用文件夾所在喜歡的路徑:C++ LDLIBSOPTIONS makefile

LDLIBSOPTIONS=-lpci -lpthread -I../../../OtherProj/Libs/common/ 

然後我包括一個.h文件中,如:

#include <ExampleLib.h> 

但是我仍然得到

fatal error: XXX.h: No such file or directory 

我做錯了什麼?謝謝。

+0

*我在做什麼錯?*您沒有指定包含頭文件'XXX.h'的目錄。 – trojanfoe

+0

正如我所說的,目錄是/ common,我在makefile中指定它LDLIBSOPTIONS = -I ../../../ OtherProj/Libs/common/ –

回答

0

LDLIBSOPTIONS(更傳統地LDFLAGS)用於指定鏈接器的選項。您需要指定的目錄中,使用-I標誌,在CXXFLAGS

CXXFLAGS += -I../../../OtherProj/Libs/common/ 

但是給你使用的是非標準名稱爲您的Makefile變量,CXXFLAGS可以被稱爲像CXXOPTIONS,但確切的名稱是未知對我來說。

解決此問題之前,您將會收到鏈接器錯誤,直到您開始使用-L指定庫路徑;或許:

LDLIBSOPTIONS = -L../../../OtherProj/Libs/common/ -lpci -lpthread 
+0

謝謝!實際上,在我添加到CXXFLAGS後,它在鏈接過程中工作並沒有抱怨。我是否也應該如下所示包含它:LDLIBSOPTIONS = -L ../../../ OtherProj/Libs/common /無論如何? –

+0

@AvbAvb我猜不是;我不明白這是如何工作的... – trojanfoe