如何在Visual Studio Expres 2012中包含openssl Windows 7 x64

时间:2015-08-22 12:51:12

标签: c++ visual-studio-2012 openssl

我很难尝试将openssl添加到我的项目中。我已经下载了Windows的预编译安装程序,并且安装了库,但是我找不到在项目中包含openssl的方法。

3 个答案:

答案 0 :(得分:8)

假设您已将 OpenSSL 安装在以下文件夹中:“C:\ Program Files \ Openssl-Win32-1.0.1p .....”(或无论其他名称);我将其称为 OPENSSL_INSTALL_DIR (因为它是一个env var)。所以%OPENSSL_INSTALL_DIR%应该包含一堆dirs(文件夹)和文件,其中对我们来说很重要:

  • 显示目录:

    • 包括
    • LIB
  • 文件:

    • 的libeay32.dll
    • ssleay32.dll (也可能被复制或符号链接到 libssl32.dll

为了使用它,您必须在 VStudio 项目中:

配置编译器[MS.DOCS]: Compiler Options Listed Alphabetically
指示它:

  • 在哪里搜索include(标头( .h ))文件。转到“项目属性 - > C / C ++ - >常规 - >其他包含目录”并添加“%OPENSSL_INSTALL_DIR%\ include”(如果需要)添加其他路径,用分号( ; )分隔它们。现在您可以在源代码中包含openssl头文件。
    请注意,因为“%OPENSSL_INSTALL_DIR%\ include”目录包含 openssl 子目录,并且在该子目录下是实际的头文件,您的#include子句必须看起来像这样:

    #include <openssl/ssl.h>
    

    当然你可以将“%OPENSSL_INSTALL_DIR%\ include \ openssl” dir添加到你的项目中,然后上面的include语句将是:

    #include <ssl.h>
    

    但第一种形式是首选形式

配置链接器[MS.Docs]: Linker Options
指示它:

  • 在哪里搜索图书馆。您可以转到“项目属性 - &gt;链接器 - &gt;常规 - &gt;其他库目录”并添加“%OPENSSL_INSTALL_DIR%\ lib”(再次,如果有多条路径,请将它们分开 ;

  • 要使用的库。 “%OPENSSL_INSTALL_DIR%\ lib” dir包含一堆 .lib 文件。除此之外,您(很可能)只需要 libeay32.lib 和/或 ssleay32.lib 。转到“项目属性 - &gt;链接器 - &gt;输入 - &gt;附加依赖项”并在现有项旁边添加这两个库

现在,如果您的所有设置和源代码都是正确的,那么您应该有一个可构建的项目。如果您想运行您的项目输出(其他可执行文件需要 .exe .dll ,我不会在这里讨论您使用静态库的可能性,可执行文件将需要找到我在开头提到的2 .dll 。为此,您应

  • 将它们复制到可执行文件所在的文件夹([MS.Docs]: Dynamic-Link Library Search Order
  • 将它们复制到%PATH% env var
  • 中的一个文件夹中
  • %OPENSSL_INSTALL_DIR%添加到%PATH%变量中;虽然如果我没记错的话,安装程序也会将它们复制到你的“%SystemRoot%\ System32”目录中,在这种情况下你不必执行此步骤,但这只是一个抬头

重要提示:将项目定位到32位或64位时必须小心(将平台设置为 Win32 x64 < / em>在 VStudio IDE中);必须与 OpenSSL 安装架构相匹配。

答案 1 :(得分:1)

使用柯南。它的安装和使用非常简单:

www.conan.io

您可以请求准备好使用的文件。例如,对于Linux x64或使用Visual Studio 2012 ...这里有一个示例指令:

conan install OpenSSL/1.0.2g@lasote/stable -s arch="x86_64" -s build_type="Debug" -s compiler="gcc" -s compiler.version="5.3" -s os="Linux" -o 386="False" -o no_asm="False" -o no_rsa="False" -o no_cast="False" -o no_hmac="False" -o no_sse2="False" -o no_zlib="False" ...

答案 2 :(得分:0)

自最初提出此问题以来,发生了很多变化。从那时起vcpkg出现了,并使安装外部库变得更加容易。

要安装和使用vcpkg,请使用以下命令:

git clone  https://github.com/Microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg integrate install

最后一个命令是可选的,但建议在用户范围内集成。

然后安装OpenSsl,请尝试以下操作:

vcpkg search ssl
vcpkg install openssl-windows --triplet x64-windows

根据平台的具体情况,您的选择可能会有所不同。

重新启动Visual Studio,您应该已经准备就绪。

在Visual Studio Community 2019中进行了测试。

参考:

vcpkg

vcpkg Quick Start