2017-03-25 127 views
0

我想包括包括外部庫到C

#include <openssl/evp.h> 

我的C程序。

我從他們的網站下載OpenSSL和提取的文件夾

-openssl 
    - evp.h 

但是使用編譯命令

g++ -Wall -pedantic program.c -lopenssl/evp 

拋出同樣的錯誤

fatal error: evp.h: No such file or directory 
#include <openssl/evp.h> 

我曾嘗試只是包括 #包括

和直接複製evp.h到文件夾和我的program.c和使用

g++ -Wall -pedantic program.c -evp 

編譯但它仍然拋出同樣的錯誤。將這種類型的庫包含到我的C程序中的正確方法是什麼?

謝謝!

+0

看看[如何在GCC搜索路徑中包含頭文件?](http://stackoverflow.com/q/973146/608639)和[將OpenSSL庫鏈接到程序](http:// stackoverflow。 COM/q /六十〇萬八千六百三十九分之四百三十五萬二千五百七十三)。 [C/C++編譯器如何工作?](http://stackoverflow.com/q/1085490/608639)和[如何在Ubuntu上安裝OpenSSL庫?](http://stackoverflow.com/q/3016956/608639)也可能有用。 – jww

回答

0

你寫的是你下載的opensll,但不是你編譯和安裝它。如果你沒有嘗試包含的頭文件不在編譯器會尋找它的地方。即使你以某種方式管理包含頭文件(例如,將其複製到編譯器找到它或修改其搜索路徑的地方),如果庫本身不是,編譯程序的下一步很可能會失敗在任何地方都可以找到(頭文件只包含庫接口的描述,而不是庫!)。

+0

這應該可能是一條評論。 – jww