IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UE4 测试工程模块化处理 -> 正文阅读

[游戏开发]UE4 测试工程模块化处理

1.文件拷贝后问题:

1>------ 已启动生成: 项目: 工程名, 配置: Development_Server x64 ------
1>Building 工程名Server...
1>Using Visual Studio 2017 14.16.27045 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023) and Windows 10.0.16299.0 SDK (F:\Windows Kits\10).
1>[Upgrade]
1>[Upgrade] Using backward-compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
1>[Upgrade]     bLegacyPublicIncludePaths = false                 => Omits subfolders from public include paths to reduce compiler command line length. (Previously: true).
1>[Upgrade]     ShadowVariableWarningLevel = WarningLevel.Error   => Treats shadowed variable warnings as errors. (Previously: WarningLevel.Warning).
1>[Upgrade]     PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs   => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs).
1>[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V2;' in 工程名Server.Target.cs, and explicitly overriding settings that differ from the new defaults.
1>[Upgrade]
1>Building 2 actions with 8 processes...
1>  [1/2] 工程名Server.exe
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "wchar_t * GInternalProjectName" (?GInternalProjectName@@3PA_WA) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "wchar_t const * const GForeignEngineDir" (?GForeignEngineDir@@3PEB_WEB) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "wchar_t const * const GLiveCodingEngineDir" (?GLiveCodingEngineDir@@3PEB_WEB) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "wchar_t const * const GLiveCodingProject" (?GLiveCodingProject@@3PEB_WEB) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "class FChunkedFixedUObjectArray * & GObjectArrayForDebugVisualizers" (?GObjectArrayForDebugVisualizers@@3AEAPEAVFChunkedFixedUObjectArray@@EA) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void * __cdecl operator new(unsigned __int64,struct std::nothrow_t const &)" (??2@YAPEAX_KAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPEAX@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete(void *,struct std::nothrow_t const &)" (??3@YAXPEAXAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete(void *,unsigned __int64,struct std::nothrow_t const &)" (??3@YAXPEAX_KAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void * __cdecl operator new[](unsigned __int64)" (??_U@YAPEAX_K@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void * __cdecl operator new[](unsigned __int64,struct std::nothrow_t const &)" (??_U@YAPEAX_KAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPEAX@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete[](void *,struct std::nothrow_t const &)" (??_V@YAXPEAXAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete[](void *,unsigned __int64)" (??_V@YAXPEAX_K@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "void __cdecl operator delete[](void *,unsigned __int64,struct std::nothrow_t const &)" (??_V@YAXPEAX_KAEBUnothrow_t@std@@@Z) 已经在 工程名.cpp.obj 中定义
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "unsigned char * * GNameBlocksDebug" (?GNameBlocksDebug@@3PEAPEAEEA) 已经在 工程名.cpp.obj 中定义
1>  VideoRecorder.lib(VideoRecorder.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
1>MultPlayerWAN_Test02.cpp.obj : error LNK2005: "unsigned char * * GNameBlocksDebug" (?GNameBlocksDebug@@3PEAPEAEEA) 已经在 工程名.cpp.obj 中定义
1>    正在创建库 G:\UE4Code\…\工程名\Binaries\Win64\工程名Server.lib 和对象 G:\UE4Code\…\工程名\Binaries\Win64\工程名Server.exp
1>G:\UE4Code\…\工程名\Binaries\Win64\工程名Server.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: 命令“F:\UE4_Download\UnrealEngine-4.24.3-release\Engine\Build\BatchFiles\Build.bat 工程名Server Win64 Development -Project="G:\UE4Code\…\工程名\工程名.uproject" -WaitMutex -FromMsBuild”已退出,代码为 5。请验证您是否拥有运行此命令的足够权限。
1>已完成生成项目“工程名.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 2 个,跳过 0 个 ==========

处理:

(1)模块名.h 文件添加:

public:

	/* This will get called when the editor loads the module */
	virtual void StartupModule() override;

	/* This will get called when the editor unloads the module */
	virtual void ShutdownModule() override;

(2)模块名.cpp文件

(2.1)添加:

void 模块名::StartupModule()
{

}

void 模块名::ShutdownModule()
{

}

(2.2)游戏主模块唯一性:

? //IMPLEMENT_PRIMARY_GAME_MODULE( ModuleImplClass, ModuleName, GameName )

IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, 模块名, "游戏名" );

改为

? //IMPLEMENT_GAME_MODULE( ModuleImplClass, ModuleName )

IMPLEMENT_GAME_MODULE(模块实现类名, 模块名);

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:17:43  更:2021-12-14 16:17:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:06:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码