UE4.27.2 构建项目放在 SolutionDirectory
2025-05-20 22:58:09
UnrealPakViewer
我是希望构建别人的一个查看 pak 的工具,来学习 PAK 的使用的
https://github.com/jashking/UnrealPakViewer
根据他的介绍,把他源码放到 Engine\Source\Programs 就可以了
我虽然放了,但是运行 GenerateProjectFiles.bat
,重新编译之后没有出现 UnrealPakViewer 的项目
刚好看过 UE 构建系统,于是想找下问题在哪
调试 UnrealBuildTool 生成项目
调试到 ProjectFileGenerator.AddProjectsForAllTargets
这个函数开头遍历 AllTargetFiles
每一个 Target 判断是否在特定目录下,在才执行之后的逻辑
这个判断的结果存在 WantProjectFileForTarget
,我调试的时候,UnrealPakViewer 也是通过了的
于是之后一堆生成项目的逻辑,假设暂时跳过
最后调试到生成项目的代码都是可以击中的
1 | ProjectTarget ProjectTarget = new ProjectTarget() |
这里给出了生成的路径
1 | <path to engine>\UnrealEngine\Engine\Intermediate\ProjectFiles\UnrealPakViewer.vcxproj |
我一看,也是有的。构建也会成功,也会生成 exe。
那为什么我在 VS 项目视图看不到呢
刷新项目的方法
于是看了别人是怎么做的。别人是
1 | Engine\Binaries\DotNET\UnrealBuildTool.exe -ProjectFiles Engine\Source\Programs\UnrealPakViewer |
然后用 Visual Studio 重新打开 VS 项目,我这里还真的就可以了。
我再重新用 Rider 打开,就看不到新项目。所以这还是 IDE 的问题。
好吧,后来才发现,是这个插件写到了 ExternalPrograms
文件夹下,这个是写在 UnrealPakViewer.Target.cs 的 SolutionDirectory
的