UE4学习笔记:动态链接库和静态链接库的使用

在UE4中使用静态链接库和动态链接库与普通程序中使用差不多,只是要在编译文件中设置库文件路径。下面创建一个第三人称模板的C++工程ThirdPerson,使用 https://blog.csdn.net/yb0022/article/details/78470166 这篇文章中的静态链接库和动态链接库。

一、静态链接库

在工程目录新建一个文件夹ThirdParty(与Content目录同一级),将CaptureScreen.h和CaptureScreen.lib复制到这个文件夹,接下来要在编译文件.build.cs文件中将这个目录添加到包含目录,使UE4能搜索到头文件(如果没有添加包含目录,头文件的路径就是../../ThirdParty/CaptureScreen.h),然后将CaptureScreen.lib添加到依赖库列表中,ThirdPerson.build.cs文件大致如下

//ThirdPerson.Build.cs
using UnrealBuildTool;
using System.IO;
public class ThirdPerson : ModuleRules
{
    public ThirdPerson(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "ImageWrapper" });
        PublicIncludePaths.Add(Path.Combine(ThirdPartyPath));
        PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "CaptureScreen.lib"));
    }
    private string ThirdPartyPath
    {
        get { return Path.GetFullPath(Path.Combine(ModuleDirectory, "../../ThirdParty/")); }
    }
}

在AThirdPersonGameMode类中实现一个蓝图可调用的函数TestCapture来调用静态库中的函数,在游戏运行期间都可以调用来获取屏幕截图,为了方便这里就在StartPlay中调用TestCapture。.h和.cpp代码如下

// ThirdPersonGameMode.h
#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "ThirdPersonGameMode.generated.h"

UCLASS(minimalapi)
class AThirdPersonGameMode : public AGameModeBase
{
	GENERATED_BODY()

public:
	AThirdPersonGameMode();
	void StartPlay();
	void EndPlay(const EEndPlayReason::Type EndPlayReason);
	UFUNCTION(BlueprintCallable)
	void TestCapture(int x,int y,int width,int height);
};

// ThirdPersonGameMode.cpp
#include "ThirdPersonGameMode.h"
#include "ThirdPersonCharacter.h"
#include "UObject/ConstructorHelpers.h"
#include"IImageWrapperModule.h"
#include"ModuleManager.h"
#include"IImageWrapper.h"
#include"Misc/FileHelper.h"
#include"CaptureScreen.h"//包含头文件
AThirdPersonGameMode::AThirdPersonGameMode()
{
	// set default pawn class to our Blueprinted character
	static Co
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值