gpt4 book ai didi

c++ - 无法从 DLL 打开包含文件

转载 作者:搜寻专家 更新时间:2023-10-31 00:33:36 25 4
gpt4 key购买 nike

所以,我制作了一个 dll,它编译得很好。然后我引用了我在另一个项目中制作的这个dll并收到这个错误消息:

error C1083: Cannot open include file: 'openssl\ssl.h': No such file or directory

这个 .h 文件在 dll 内部使用,我认为通过引用 dll 我不应该直接包含这个文件......一个 dll 不应该在“内部”包含其目的所需的所有文件吗?

最佳答案

Shouldn't a dll have all the files needed for it's purpose "inside it"?

没有。 DLL 包含机器代码。

.c.h 文件的主要区别在于.c 文件包含代码.h 文件包含 Headers(即它们应该包含的内容,尽管它们不受约束)。您需要这些头文件以便编译器知道要在 DLL 中查找什么。编译和链接程序后,不再需要头文件。

这就是为什么用 C 或 C++ 编写的非开源库的作者通常会提供预编译的二进制文件和头文件。

包含机器代码和标题的文件格式是可能的,但据我所知,不存在这样的格式,如果存在,那将是非常糟糕的,因为对于很多程序来说,这意味着巨大 可执行文件。

关于c++ - 无法从 DLL 打开包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com