1-0 如何使用最新本插件
1-1 封装SimpleProtobuf插件
1-2 理解Protobuf规则
1-3 UE5实现可视化Protobuf编辑器
1-4智能生成cpp代码的实现
1-5通过批处理生成proto
老版本使用方法 新版本请看 视频1-0
一.环境部署 1.先打开GenerateProtobuf.bat 里面有如下的内容: start %~dp0Content\Engine\Binaries\Win64\ProtobufProgram.exe -CompressPath=%~dp0Content\google.rz -OutPutProtobufPath=G:\DigitalHuman\Source\DigitalHuman 将 -OutPutProtobufPath=的内容指向自己的工程源目录.点击生成
2.在项目的build.cs下加入如下内容: ShadowVariableWarningLevel = WarningLevel.Off;
bEnableUndefinedIdentifierWarnings = false; if (Target.Platform == UnrealTargetPlatform.Win64) { bEnableExceptions = true; }
PublicDefinitions.Add(“_CRT_SECURE_NO_WARNINGS”); PublicDefinitions.Add(“GOOGLE_PROTOBUF_NO_RTTI=1”); PublicDefinitions.Add(“GOOGLE_PROTOBUF_CMAKE_BUILD”);
3.编译,直到成功
二.生成prot代码 1.打开GenerateProtobufCPP.bat 这个文件 %~dp0Content\Engine\Binaries\Win64\protoc.exe –cpp_out=G:/DigitalHuman/Source/DigitalHuman/REF/ ./CPPScript/TestCPPProto.proto 将里面的–cpp-out=设置你自己写的proto里面 ./xxxx这个是指定你自己写的.proto –cpp_out=你想生成的cpp位置 ./你定义的proto位置
2.点击运行即可生成对应代码。 3.proto的位置目前是相对位置,绝对位置会出错,如果希望指定一个公共的位置,可以拷贝content里面的protoc.exe到自己公共的位置即可
三.CPPScript 这里有赠送方便测试的.proto文件,可以移动到自己工程方便测试,生成代码,以及运行。
旧版本使用方法
%~dp0Content\Engine\Binaries\Win64\protoc.exe –cpp_out=../SimpleProtobuf/ ./CPPScript/TestCPProto.proto pause
%~dp0Content\Engine\Binaries\Win64\protoc.exe –cpp_out=../SimpleProtobuf/ ./CPPScript/TestCPProto.proto
ShadowVariableWarningLevel = WarningLevel.Off; bEnableUndefinedIdentifierWarnings = false; if (Target.Platform == UnrealTargetPlatform.Win64) { bEnableExceptions = true; } PublicDefinitions.Add(“_CRT_SECURE_NO_WARNINGS”);
协议生成后重新生成项目,报下面的错误是什么原因啊 LNK2019 无法解析的外部符号 “public: virtual __cdecl google::protobuf::Closure::~Closure(void)” (??1Closure@protobuf@google@@UEAA@XZ),函数 “public: virtual void * __cdecl google::protobuf::Closure::`scalar deleting destructor'(unsigned int)” (??_GClosure@protobuf@google@@UEAAPEAXI@Z) 中引用了该符号
截图发我
这个情况很可能是没有链接上.h和.cpp没链接上
插件已经更新了,可以商用
准备资料可以私发一份吗? 我想对着教学视频复现一下
是什么准备资料,你的意思是插件的protobuf资源。稍等一下我会把它放出来。 资源地址下载 :https://ue4plugins.oss-cn-beijing.aliyuncs.com/ThirdParty/Protobuf/Protobuf.zip
哦哦,问题已经解决了,感谢
客气
这个能支持linux端吗
支持
CompilerResultsLog: ld.lld: error: undefined symbol: PlayerStateHello::FStructObject23::FStructObject23() CompilerResultsLog: >>> referenced by LoginSubsystem.cpp:21 (/home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Source/heroworld/Level/Login/Systems/LoginSubsystem.cpp:21) CompilerResultsLog: >>> /home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Intermediate/Build/Linux/B4D820EA/UnrealEditor/Development/heroworld/LoginSubsystem.cpp.o:(ULoginSubsystem::LoginBtn(FString, FString)) CompilerResultsLog: ld.lld: error: undefined symbol: PlayerStateHello::FStructObject23::~FStructObject23() CompilerResultsLog: >>> referenced by LoginSubsystem.cpp:37 (/home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Source/heroworld/Level/Login/Systems/LoginSubsystem.cpp:37) CompilerResultsLog: >>> /home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Intermediate/Build/Linux/B4D820EA/UnrealEditor/Development/heroworld/LoginSubsystem.cpp.o:(ULoginSubsystem::LoginBtn(FString, FString)) CompilerResultsLog: clang++: error: linker command failed with exit code 1 (use -v to see invocation) LogMainFrame: MainFrame: Module compiling took 14.062 seconds Warning: HotReload failed, recompile failed
编译项目报错了,linux系统
SimpleProtobuf UE5.00
最近正在计划升级
已经升级
UE4能用吗
可以用
ue5的插件没法用啊,
现在可以了
protobuf里面的bin怎么没有啊
按照新版本的方式来
这个插件有使用流程嘛?为什么我的没反应呢?
已经更新 文档也更新了
安装插件后,启动一直报错UDP messaging encountered an error. Auto repair routine started for 是什么原因?
创建不了Robat文件夹:CPPScript/TestCPPProto.proto:80:9: “duration” is not defined.
后面准备教程
要发表评论,您必须先登录。
课程连接
付费版本包含源码,可以二次开发,如果您不需要二次开发,或者想先试用一下,那么我建议先用免费版本,有的免费版本需要登录。
如果免费版本蓝图无法启动,请点击我,里面有解决方案
如果有问题 请加入 售后QQ群:946331852 我们会收集问题,安排维护
如果有希望新增的功能也可以反应到售后,我们会安排添加,感谢理解。
协议生成后重新生成项目,报下面的错误是什么原因啊
LNK2019 无法解析的外部符号 “public: virtual __cdecl google::protobuf::Closure::~Closure(void)” (??1Closure@protobuf@google@@UEAA@XZ),函数 “public: virtual void * __cdecl google::protobuf::Closure::`scalar deleting destructor'(unsigned int)” (??_GClosure@protobuf@google@@UEAAPEAXI@Z) 中引用了该符号
截图发我
这个情况很可能是没有链接上.h和.cpp没链接上
插件已经更新了,可以商用
准备资料可以私发一份吗? 我想对着教学视频复现一下
是什么准备资料,你的意思是插件的protobuf资源。稍等一下我会把它放出来。
资源地址下载 :https://ue4plugins.oss-cn-beijing.aliyuncs.com/ThirdParty/Protobuf/Protobuf.zip
哦哦,问题已经解决了,感谢
客气
这个能支持linux端吗
支持
CompilerResultsLog: ld.lld: error: undefined symbol: PlayerStateHello::FStructObject23::FStructObject23()
CompilerResultsLog: >>> referenced by LoginSubsystem.cpp:21 (/home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Source/heroworld/Level/Login/Systems/LoginSubsystem.cpp:21)
CompilerResultsLog: >>> /home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Intermediate/Build/Linux/B4D820EA/UnrealEditor/Development/heroworld/LoginSubsystem.cpp.o:(ULoginSubsystem::LoginBtn(FString, FString))
CompilerResultsLog: ld.lld: error: undefined symbol: PlayerStateHello::FStructObject23::~FStructObject23()
CompilerResultsLog: >>> referenced by LoginSubsystem.cpp:37 (/home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Source/heroworld/Level/Login/Systems/LoginSubsystem.cpp:37)
CompilerResultsLog: >>> /home/ljf/Documents/UnrealProjects/ue5_heroworld/heroworld/Intermediate/Build/Linux/B4D820EA/UnrealEditor/Development/heroworld/LoginSubsystem.cpp.o:(ULoginSubsystem::LoginBtn(FString, FString))
CompilerResultsLog: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
LogMainFrame: MainFrame: Module compiling took 14.062 seconds
Warning: HotReload failed, recompile failed
编译项目报错了,linux系统
SimpleProtobuf UE5.00
最近正在计划升级
已经升级
UE4能用吗
可以用
ue5的插件没法用啊,
现在可以了
protobuf里面的bin怎么没有啊
按照新版本的方式来
这个插件有使用流程嘛?为什么我的没反应呢?
已经更新 文档也更新了
安装插件后,启动一直报错UDP messaging encountered an error. Auto repair routine started for 是什么原因?
创建不了Robat文件夹:CPPScript/TestCPPProto.proto:80:9: “duration” is not defined.
后面准备教程