Windows下编译无法通过
D:\图形学\Pilot\Pilot\engine..\engine\source\runtime/core/meta/serializer/serializer.h(67,31): error C2338: PSerializer::write<T> has not been implemented yet! (编译源文件 D:\图形学\Pilot\Pilot\engine\source\runtime\core\meta\meta_example.cpp) 11>D:\图形学\Pilot\Pilot\engine\source\runtime\core\meta\meta_example.cpp(29): message : 查看对正在编译的函数 模板 实例化“PJson Pilot::PSerializer::writePilot::Test1(const T &)”的引用 11> with 11> [ 11> T=Pilot::Test1 11> ]
Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. -- Using Win32 for window creation -- Build spdlog: 1.9.2 -- Build type: Release -- Configuring done -- Generating done
我也是 已启动生成… 1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------ 1>Checking File Globs 2>------ 已启动生成: 项目: PilotPreCompile, 配置: Debug x64 ------ 3>------ 已启动生成: 项目: PilotShaderCompile, 配置: Debug x64 ------ 2>************************************************************* 2>**** [Precompile] BEGIN 2>************************************************************* 2> 2>Parsing reflection data for target "Pilot" 2>Parsing project file: C:/Users/Admin/Desktop/计算机学习/Pilot/engine/bin/precompile.json 2>Parsing in C:/Users/Admin/Desktop/计算机学习/Pilot/engine/../engine/source 2>Generating the Source Include file: C:/Users/Admin/Desktop/计算机学习/Pilot/build/parser_header.h 2>Parsing the whole project... 2>m_source_include_file_name C:/Users/Admin/Desktop/计算机学习/Pilot/build/parser_header.h 2>Start generate runtime schemas(0)... 2>Completed in 7ms 2>+++ Precompile finished +++ 4>------ 已启动生成: 项目: PilotRuntime, 配置: Debug x64 ------ 4>meta_example.cpp 4>reflection_register.cpp 4>engine.cpp 4>animation_loader.cpp 4>mesh_component.cpp 4>level.cpp 4>object.cpp 4>world_manager.cpp 4>scene_manager.cpp 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(39,14): error C2182: “addBoneBind”: 非法使用“void”类型 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(39,26): error C2065: “MeshData”: 未声明的标识符 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(39,36): error C2065: “mesh_bind”: 未声明的标识符 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(39,47): error C2275: “size_t”: 将此类型用作表达式非法 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp : message : 参见“size_t”的声明 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(39,54): error C2146: 语法错误: 缺少“)”(在标识符“bone_index”的前面) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(40,9): error C2143: 语法错误: 缺少“;”(在“{”的前面) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\animation\animation_loader.cpp(40,9): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) 4>asset_manager.cpp 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\world\world_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::WorldRes, 4> AssetType=Pilot::WorldRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\world\world_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\world\world_manager.cpp(50): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::WorldRes(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::WorldRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(67,31): error C2338: PSerializer::write<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\core\meta\meta_example.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\core\meta\meta_example.cpp(29): message : 查看对正在编译的函数 模板 实例化“PJson Pilot::PSerializer::writePilot::Test1(const T &)”的引用 4> with 4> [ 4> T=Pilot::Test1 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\core\meta\meta_example.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\core\meta\meta_example.cpp(37): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::readPilot::Test1(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::Test1 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\object\object.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::ObjectDefinitionRes, 4> AssetType=Pilot::ObjectDefinitionRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\object\object.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\object\object.cpp(53): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::ObjectDefinitionRes(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::ObjectDefinitionRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\component\mesh\mesh_component.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::MaterialRes, 4> AssetType=Pilot::MaterialRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\component\mesh\mesh_component.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\component\mesh\mesh_component.cpp(34): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::MaterialRes(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::MaterialRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::LevelRes, 4> AssetType=Pilot::LevelRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp(66): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::LevelRes(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::LevelRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(67,31): error C2338: PSerializer::write<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(42): message : 查看对正在编译的函数 模板 实例化“PJson Pilot::PSerializer::write<AssetType>(const T &)”的引用 4> with 4> [ 4> AssetType=Pilot::LevelRes, 4> T=Pilot::LevelRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\framework\level\level.cpp(94): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::saveAssetPilot::LevelRes(const AssetType &,const std::filesystem::path &) const”的引用 4> with 4> [ 4> AssetType=Pilot::LevelRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\resource\asset_manager\asset_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::AnimationComponentRes, 4> AssetType=Pilot::AnimationComponentRes 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\resource\asset_manager\asset_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\resource\asset_manager\asset_manager.cpp(20): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::AnimationComponentRes(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::AnimationComponentRes 4> ] 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/core/meta/serializer/serializer.h(81,31): error C2338: PSerializer::read<T> has not been implemented yet! (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\scene\scene_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime/resource/asset_manager/asset_manager.h(35): message : 查看对正在编译的函数 模板 实例化“T &Pilot::PSerializer::read<AssetType>(const PJson &,T &)”的引用 4> with 4> [ 4> T=Pilot::MeshData, 4> AssetType=Pilot::MeshData 4> ] (编译源文件 C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\scene\scene_manager.cpp) 4>C:\Users\Admin\Desktop\计算机学习\Pilot\engine\source\runtime\function\scene\scene_manager.cpp(570): message : 查看对正在编译的函数 模板 实例化“void Pilot::AssetManager::loadAssetPilot::MeshData(const std::filesystem::path &,AssetType &) const”的引用 4> with 4> [ 4> AssetType=Pilot::MeshData 4> ] 4>已完成生成项目“PilotRuntime.vcxproj”的操作 - 失败。 5>------ 已启动生成: 项目: PilotEditor, 配置: Debug x64 ------ 5>editor_file_service.cpp 5>editor_ui.cpp 5>LINK : fatal error LNK1104: 无法打开文件“..\runtime\Debug\PilotRuntime.lib” 5>已完成生成项目“PilotEditor.vcxproj”的操作 - 失败。 ========== 生成: 成功 3 个,失败 2 个,最新 8 个,跳过 0 个 ==========
文件路径中不要包含中文再试试呢
解决了,牛啊牛啊
你是怎么解决的