jik*_*ama 3 c++ openssl visual-studio visual-studio-2012
我正在努力将openssl添加到我的项目中.我已经下载了Windows的预编译安装程序,并且我安装了库,但是我找不到在我的项目中包含openssl的方法.
假设您已将OpenSSL安装在如下文件夹中:"C:\ Program Files\Openssl-Win32-1.0.1p ....."(或其他任何名称); 我将把它称为OPENSSL_INSTALL_DIR(因为它是一个env var).所以%OPENSSL_INSTALL_DIR%应该包含一堆dirs(文件夹)和文件,这对我们来说很重要:
DIRS:
文件:
为了使用它,在您的VStudio项目中,您必须:
配置编译器([MS.DOCS]:按字母顺序列出的编译器选项)
指示它:
在哪里搜索包含(标题(.h))文件.转到" 项目属性 - > C/C++ - >常规 - >其他包含目录 "并添加"%OPENSSL_INSTALL_DIR%\ include"(如果需要添加其他路径,请用分号(;)分隔).现在您可以在源代码中包含openssl头文件.
请注意,因为"%OPENSSL_INSTALL_DIR%\ include" dir包含一个openssl子目录,并且在该子目录下是实际的头文件,所以你的#include子句必须如下所示:
#include <openssl/ssl.h>
Run Code Online (Sandbox Code Playgroud)
当然你可以在你的项目中添加"%OPENSSL_INSTALL_DIR%\ include\openssl"目录,然后上面的include语句将是:
#include <ssl.h>
Run Code Online (Sandbox Code Playgroud)
但第一种形式是首选形式
配置链接器([MS.Docs]:链接器选项)
指示它:
在哪里搜索图书馆.您可以通过转到" 项目属性 - >链接器 - >常规 - >附加库目录 "并添加"%OPENSSL_INSTALL_DIR%\ lib"(再次,如果有多个路径,将它们分开;)来实现.
使用什么库."%OPENSSL_INSTALL_DIR%\ lib"目录包含一堆.lib文件.除此之外,您(很可能)只需要libeay32.lib和/或ssleay32.lib.转到" 项目属性 - >链接器 - >输入 - >其他依赖项 "并在现有项旁边添加这两个库
现在,如果您的所有设置和源代码都是正确的,那么您应该有一个可构建的项目.当你想要运行你的项目输出(其他可执行文件需要的.exe或.dll,我不在这里讨论你使用静态库的可能性)时,可执行文件需要找到2 .dll那是我在开始时提到的.对于这一点,你应该要么:
重要说明:将项目定位为32位或64位时必须小心(在VStudio IDE中将Platform设置为Win32或x64); 必须与您的OpenSSL安装架构相匹配.
自最初提出这个问题以来,发生了很多变化。自那以后vcpkg起,它的出现使得安装外部库变得更加容易。
要安装和使用 vcpkg,请使用以下命令:
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg integrate install
Run Code Online (Sandbox Code Playgroud)
最后一个命令是可选的,但建议进行用户范围的集成。
然后要安装 OpenSsl,请尝试以下操作:
vcpkg search ssl
vcpkg install openssl-windows --triplet x64-windows
Run Code Online (Sandbox Code Playgroud)
您的选项可能会有所不同,具体取决于平台的具体情况。
重新启动 Visual Studio,您就可以开始了。
使用 Visual Studio Community 2019 进行测试。
参考:
| 归档时间: |
|
| 查看次数: |
29005 次 |
| 最近记录: |