无法打开源文件 "openssl/bn.h"

4
#include <openssl/dh.h>
#include <openssl/bn.h>

错误:无法打开源文件“openssl/bn.h”,无法打开源文件“openssl/dh.h”???出了什么问题


一些更多的上下文会非常有帮助。 - Shinnok
那么,你实际上在指定的路径中有一个以那个名称命名的文件吗? - Cody Gray
4个回答

3
  1. 确保系统中安装了libssl。如果您使用的是Linux,请使用以下命令:

    $yum list libssl

  2. 如果已经安装,请确保在include目录中指定了其路径。如果您使用的是gcc编译器,可以通过以下方式告诉gcc在哪个目录中搜索:

    -I /path_of_libssl folder


2

你可能忘了添加包含路径。如果你在使用Visual Studio,应该进入工具->选项->项目和解决方案->C++目录,并从下拉列表中选择“包含文件”选项,然后添加到openssl包含文件夹的路径。或者你可以将openssl文件夹复制到你的源文件夹中,并将 更改为 "openssl/bn.h"。


1
问题在于,你的编译器找不到头文件bn.h。原因可能是你的包含路径出了问题。
另外一个可能原因是你没有安装头文件。根据你的系统,你需要安装一个叫做libssl-dev的软件包。这个软件包包含头文件。软件包libssl只包含共享对象文件(以.so结尾),这些文件在链接过程中需要,而不是编译过程中需要。如果安装了libssl-dev解决了你的问题,但之后遇到链接问题,你也应该安装libssl。

0

你可能缺少那个文件,或者没有正确设置你的包含路径。


1
这几乎是一个无用的答案。 - Avio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接