使用cmake命令,在build里打开解决方案并编译,无法解析的外部符号,少lib或者dll
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2001 无法解析的外部符号 _vkWaitForFences@24 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::X" (?X@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Y" (?Y@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Z" (?Z@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::X" (?X@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_global_context.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Y" (?Y@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_global_context.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Z" (?Z@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_global_context.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::X" (?X@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_scene_manager.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Y" (?Y@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_scene_manager.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Z" (?Z@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_scene_manager.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::X" (?X@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_ui.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Y" (?Y@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_ui.obj 1 错误 LNK2005 "public: static class Pilot::Vector3 const Pilot::PCamera::Z" (?Z@PCamera@Pilot@@2VVector3@2@B) 已经在 axis.obj 中定义 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\editor_ui.obj 1 错误 LNK2001 无法解析的外部符号 _vkQueueSubmit@20 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkFreeMemory@16 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkUnmapMemory@12 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkDestroyFence@16 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkDestroySemaphore@16 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkDestroyBuffer@16 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkDestroyImageView@16 PilotEditor D:\C++Project\Pilot\build\engine\source\editor\imgui.lib(imgui_impl_vulkan.obj) 1 错误 LNK2001 无法解析的外部符号 _vkDestroyCommandPool@16 PilotEditor
能否提供一下构建环境更详细的内容,比如:
OS系统和版本:win7, win10, 还是win11 编译器:vs2015,vs2019 还是vs2022
os系统:Windows 11 家庭中文版 21H2 编译器 vs2017 Community
vs2017没有大范围测试过,能否用vs2019 或 vs2022测试一下
VS2022 遇到过相似的问题, 当时具体的解决方法忘记了. 可以试试最新的版本?
我也遇到这样的问题了,想问一下您是怎么解决的?
该问题与 #8 相似.
@Timlinkstt 可以尝试一下 #8 中的解决方法.