浅瞳დ 2025-09-24 00:24 采纳率: 0%
浏览 38

关于#UE5#的问题:新建的项目退出打开之后,显示模块缺失(开发工具-visualstudio)

我新建一个ue5.6的c++项目,新建完退出编译器与vscode,再次打开项目就显示一个叫我这个项目的项目名的模块找不到或者是用其他版本的编辑器编译了,点击重编译,显示重编译失败,但是再次点一下就会进入新建项目的界面,点击运行刚才的项目项目可以正常进去
之前都用蓝图😭一搞c++就炸了😭
Missing My001 Modules
The fllowing modules are missing or built with a different engine version:
My001
Would you like to rebuild them now?

My001 could not be compiled. Try rebuilding from source manually

在vs里面重新生成解决方案的话那就彻底进不去了

我尝试过更换引擎版本,重新安装vs2022,都没效果

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-09-24 00:25
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    你遇到的问题是**Unreal Engine 5.6(UE5.6)**中,新建的C++项目在退出后出现“模块缺失”或“使用不同引擎版本编译”的错误。这个问题通常与 Visual Studio 的配置、项目文件损坏、模块未正确生成或引擎版本不一致 有关。


    ✅ 问题分析

    1. 模块缺失(Missing My001 Modules)
      这是因为你的项目模块 My001 没有被正确编译或生成,导致 Unreal Editor 无法识别它。

    2. “用其他版本的编辑器编译了”
      说明你可能之前使用过另一个版本的 UE 编辑器(如 UE5.5),而当前项目配置与当前引擎版本不匹配。

    3. “重编译失败”
      项目没有正确生成 Visual Studio 解决方案,或者解决方案本身存在错误。

    4. 进入项目后可以运行,但无法打开 VS 或重新生成
      表明项目结构部分正常,但模块编译流程有问题。


    🔧 解决方案

    以下是逐步解决该问题的详细步骤:

    1. 确保引擎版本一致

    • 确认你正在使用的是 UE5.6

      • 打开 Epic Games Launcher,检查是否安装了 Unreal Engine 5.6
      • 如果你之前使用过其他版本(如 UE5.5),请卸载旧版本并重新安装 UE5.6。
    • 检查项目引擎版本

      • 在项目文件夹中找到 EngineVersion.txt 文件。
      • 确保内容为 5.6.0(或其他你使用的具体版本)。

    重要:不要混合使用不同版本的引擎和项目。


    2. 清理项目缓存和中间文件

    • 删除以下文件/文件夹:
      • Binaries/
      • Intermediate/
      • Saved/
      • .vs/(如果存在)
      • *.sln*.vcxproj(这些由 Unreal Engine 生成)

    注意:删除前请备份项目,防止数据丢失。


    3. 重新生成项目文件

    • 使用 Unreal Engine 的命令行工具 来重新生成项目文件:
    cd "你的项目路径"
    GenerateProjectFiles.sh -project="YourProject.uproject" -game -editor -no-cmake
    

    Windows 用户使用 GenerateProjectFiles.bat

    • 这会重新生成 Visual Studio 解决方案和项目文件。

    4. 使用正确的 Visual Studio 版本

    • 确保你使用的是 VS2022(UE5.6 支持 VS2022)。
    • 安装所有必要的 C++ 工具
      • 打开 Visual Studio Installer。
      • 安装 C++ 开发工具Windows SDK

    如果你之前使用的是 VSCode,建议切换回 VS2022 来编译项目。


    5. 手动修复模块编译问题

    • 打开 Visual Studio

      • 双击生成的 .sln 文件。
      • 尝试 Build Solution(构建解决方案)。
      • 如果提示找不到模块,请检查:
        • 是否有多个项目文件(如 My001.Target.csMy001.Build.cs)。
        • 是否在 My001.Build.cs 中正确引用了引擎模块(如 UnrealEd, Core, Engine)。
    • 示例 My001.Build.cs

    using System.IO;
    using System.Collections.Generic;
    
    public class My001 : ModuleRules
    {
        public My001(ReadOnlyTargetRules Target) : base(Target)
        {
            PCHUsage = PCHUsageMode.UseExplicitPCHs;
    
            PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
    
            PrivateDependencyModuleNames.AddRange(new string[] { "UnrealEd", "Slate", "SlateCore" });
        }
    }
    

    注意:如果你没有这个文件,请从模板中复制一份。


    6. 重新导入项目到 UE 编辑器

    • 关闭 Visual Studio。
    • 打开 Unreal Editor。
    • 选择 File > Open Project
    • 选择你的 .uproject 文件。
    • 确保在弹出窗口中选择 Use Visual Studio 2022

    7. 强制重新生成模块

    • 如果仍然报错,尝试在 Unreal Editor 中点击 Edit > Project Settings > Plugins
    • 禁用所有插件,然后重启项目。
    • 再次尝试重新生成模块。

    8. 彻底重装 UE5.6 + VS2022

    如果上述方法无效,建议:

    1. 卸载 Unreal Engine 5.6
    2. 卸载 Visual Studio 2022
    3. 清理注册表(可选)。
    4. 重新安装 VS2022 并安装 C++ 工具。
    5. 重新下载并安装 UE5.6
    6. 重新创建项目,并严格按照官方教程操作。

    🛠️ 额外建议

    | 问题 | 建议 | |------|------| | 项目无法打开 | 检查 EngineVersion.txt.uproject 文件格式 | | 模块未编译 | 确保 Build.cs 正确引用模块 | | VS 无法生成 | 使用 GenerateProjectFiles 重新生成 | | 多版本冲突 | 不要混用 UE5.5 和 UE5.6 |


    💡 最终建议

    如果你是刚开始学习 UE5 的 C++ 项目,建议先使用 蓝图,熟悉后再尝试 C++。C++ 项目对环境配置要求较高,容易出错。


    📝 示例代码:My001.Build.cs

    using System.IO;
    using System.Collections.Generic;
    
    public class My001 : ModuleRules
    {
        public My001(ReadOnlyTargetRules Target) : base(Target)
        {
            PCHUsage = PCHUsageMode.UseExplicitPCHs;
    
            PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
    
            PrivateDependencyModuleNames.AddRange(new string[] { "UnrealEd", "Slate", "SlateCore" });
    
            if (Target.Type == TargetType.Editor)
            {
                // 如果是编辑器模式,添加编辑器相关依赖
                PublicDependencyModuleNames.Add("UnrealEd");
            }
        }
    }
    

    如果你能提供具体的错误日志(如 log.txt 或控制台输出),我可以进一步帮你定位问题根源。希望以上方法能帮你解决问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月24日