2016-07-25 64 views
0

我在我的简单程序中使用了一个OpenSSL函数。但是我得到了这个函数的未解决符号。下面是我的项目属性设置 - 我跟着其他职位,描述如何在项目中包含OpenSSL并执行这些说明。我的Visual Studio 2013安装有什么问题?Visual Studio 2013中的OpenSSL链接器问题

错误1个错误LNK2019:在函数引用_main

解析外部符号_SHA1难道是因为我使用的是64位的OpenSSL版本?是我的项目是<CharacterSet>Unicode</CharacterSet>

... Code generation = Multi-threaded Debug DLL (/MDd) 

<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <ClCompile> 
     <WarningLevel>Level3</WarningLevel> 
     <Optimization>Disabled</Optimization> 
     <SDLCheck>true</SDLCheck> 
     <AdditionalIncludeDirectories>C:\OpenSSL-Win64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
    </ClCompile> 
    <Link> 
     <GenerateDebugInformation>true</GenerateDebugInformation> 
     <AdditionalLibraryDirectories>C:\OpenSSL-Win64\lib;C:\OpenSSL-Win64\lib\VC\static;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 
     <AdditionalDependencies>libeay32.lib;libeay32MDd.lib;ssleay32.lib;ssleay32MDd.lib;%(AdditionalDependencies)</AdditionalDependencies> 
    </Link> 
</ItemDefinitionGroup> 

解决方案:

问题是我被链接到64位静态库时,我应该链接到32位静态库。修复它:

因此,将所有>C:\OpenSSL-Win64\...更改为>C:\OpenSSL-Win32\...。并安装OpenSSL 32位安装程序。

+0

需要爱版主既“复制”链接的问题(已被删除)和上面的评论链接是关于作为一袋鸡巴有用和相关的问题。 –

+0

我们中的一些人试图确保OP得到公平的动摇而不是曲奇服务。我的道歉建议的链接是不需要的。我不清楚你是否正在根据目录以及我对图书馆名称的了解来解决问题。该链接已被删除。 – jww

回答

1

问题是我连接到64位静态库时,我应该链接到32位静态库。修复它:

因此,将所有C:\OpenSSL-Win64\...改为C:\OpenSSL-Win32\....。并安装OpenSSL 32位安装程序。