You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unreal Engine 4.25中如何使用内置OpenSSL库?

在Unreal Engine 4.25中正确使用内置OpenSSL库

一、正确配置项目Build.cs文件

UE4的第三方库依赖必须通过项目的.Build.cs文件配置,而非手动修改VS路径。按以下步骤修改:

  1. 打开项目根目录下Source/YourProjectName/YourProjectName.Build.cs文件
  2. 在ModuleRules构造函数中添加OpenSSL依赖配置:
using UnrealBuildTool;

public class YourProjectName : ModuleRules
{
    public YourProjectName(ReadOnlyTargetRules Target) : base(Target)
    {
        // 保留原有配置(如PrivateDependencyModuleNames等)
        
        // 针对Win64平台添加OpenSSL依赖(根据你的目标平台调整)
        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL");
        }
    }
}

错误原因说明

  • AddEngineThirdPartyPrivateStaticDependencies必须在ModuleRules的构造函数内调用,且需指定目标平台,否则会报“不在当前上下文”错误
  • ExtraModuleNames.AddRange用于添加UE原生C++模块,OpenSSL属于第三方库,不能用此方式引用

二、正确引用头文件

配置Build.cs后,UE构建系统会自动处理OpenSSL的包含路径,无需手动在VS中添加目录。直接在C++代码中引用:

#include "openssl/sha.h"

解决编译“文件不存在”问题

之前手动添加VS包含目录会导致UE构建时路径冲突,删除手动添加的路径,依赖Build.cs自动管理即可解决。IntelliSense能识别但编译报错,正是因为手动路径与UE构建路径不一致导致的。

三、SHA-256哈希生成示例代码

以下是生成文件SHA-256哈希的实用代码,可直接用于对比本地与服务器地图文件:

#include "openssl/sha.h"
#include "Misc/FileHelper.h"
#include "Misc/Paths.h"

FString GenerateFileSHA256(const FString& FilePath)
{
    TArray<uint8> FileContent;
    // 读取文件内容
    if (!FFileHelper::LoadFileToArray(FileContent, *FilePath))
    {
        return TEXT("");
    }

    uint8 HashResult[SHA256_DIGEST_LENGTH];
    SHA256_CTX ShaContext;
    SHA256_Init(&ShaContext);
    SHA256_Update(&ShaContext, FileContent.GetData(), FileContent.Num());
    SHA256_Final(HashResult, &ShaContext);

    // 将哈希值转换为十六进制字符串
    FString HashString;
    for (const uint8 Byte : HashResult)
    {
        HashString += FString::Printf(TEXT("%02x"), Byte);
    }

    return HashString;
}

注意事项

  • 确保代码在C模块中编写,蓝图无法直接调用OpenSSL函数(可通过蓝图函数库封装C逻辑)
  • 编译时选择与配置匹配的平台(如Win64),OpenSSL库为平台专属
  • 无需手动复制OpenSSL库文件,UE构建系统会自动链接对应平台的预编译库

内容的提问来源于stack exchange,提问作者Seth Bembeneck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:01:38