2013-05-02 192 views
-1

嗨,我想包括一個外部庫調用NTL。它的路徑如下:如何包含外部庫?

#include "WinNTL-5_4_2/include/NTL/tools.h" 

我的文件是key.cpp,它和NTL位於同一個文件夾中。但是當我編譯,它想出了另一個錯誤是..

In file included from keygen.cpp:6:0: 
WinNTL-5_4_2/include/NTL/tools.h:5:24: fatal error: NTL/ctools.h: No such file or directory 
compilation terminated. 

正如它需要另一個文件調用ctools.h,我怎麼包括的Tools.h使ctools.h工作也

我試過類型

[email protected]:~/GG$ g++ keygen.cpp -o keygen -l WinNTL-5_4_2/include/ 
keygen.cpp:6:23: fatal error: NTL/tools.h: No such file or directory 

但它仍然沒有工作。

回答

2

基於錯誤信息,你應該嘗試改變你include到:

#include "NTL/tools.h" 

,並確保WinNTL-5_4_2/include是包含文件的編譯器的搜索路徑。

+0

我試過這個 meme @ ubuntu:〜/ GG $ g ++ keygen.cpp -o keygen -l「/ home/meme/GG/WinNTL-5_4_2/include/NTL /「 keygen.cpp:6:19:致命錯誤:tools.h:沒有這樣的文件或目錄 – user2017011 2013-05-02 08:05:44

+0

meme @ ubuntu:〜/ GG $ g ++ keygen.cpp -o keygen -L」/ home/meme/GG/WinNTL-5_4_2/include「 keygen.cpp:6:23:致命錯誤:NTL/tools.h:沒有這樣的文件或目錄 編譯終端特德。 – user2017011 2013-05-02 08:09:25

+0

請確保這確實是正確的路徑。你的編輯建議在那裏應該有一個'CSCI368'。 – Mat 2013-05-02 08:11:29

1

您需要將根目錄添加爲包含文件的項目搜索路徑的一部分。它完全取決於你的環境如何做到這一點,但通常有兩個搜索路徑 - 一個用於包含文件,另一個用於編譯庫。將其設置爲包含WinNTL-5_4_2目錄的目錄,您應該是黃金版。

0

您必須在您的編譯器的路徑中添加「fullpath/WinNTL-5_4_2/include」(可通過​​-I查看gcc或Visual Studio項目的包含路徑列表) 期望ctools.h存在「.../WinNTL-5_4_2/include/NTL」