2011-02-13 1251 views
4
#include <openssl/dh.h> 
#include <openssl/bn.h> 

錯誤:無法打開源文件「openssl/bn.h」,無法打開源文件「openssl/dh.h」??? whats wrong無法打開源文件「openssl/bn.h」

+0

一些更多的上下文將真的有幫助 – Shinnok 2011-02-13 08:17:06

+0

那麼,你真的有一個文件在指定的路徑名​​稱? – 2011-02-13 08:20:40

回答

0

您要麼丟失該文件,要麼沒有正確設置包含路徑。

+1

這是一個幾乎沒用的答案 – Avio 2014-03-17 20:08:37

3
  1. 確保您已在系統上安裝了libssl。 如果你是在Linux上使用命令

    $百勝名單中的libssl

  2. 如果是安裝。確保你已經在包含目錄中給出它的路徑。如果你正在使用gcc,你可以告訴GCC使用

    -I/path_of_libssl文件夾

2

你,可能是在目錄中搜索,缺少包括路徑。如果您使用的是Visual Studio,則應該轉至Tools-> Options-> Projects and Solutions-> C++目錄,然後從下拉列表選項「include files」中選擇並添加openssl include文件夾的路徑。要麼你可以將openssl文件夾複製到你的源文件夾並改爲「openssl/bn.h」。

1

問題是,你的編譯器找不到頭文件bn.h.原因可能是,你的包含路徑有問題。

也可能是,您沒有安裝頭文件。根據你的系統,你需要安裝一個叫做libssl-dev的軟件包。這個軟件包包含頭文件。包libssl只包含共享對象文件(以.so結尾),鏈接過程需要這些文件,而不是編譯過程。如果安裝libssl-dev解​​決了您的問題,並且之後遇到鏈接器問題,則還應該安裝libssl。