C++ vulkan-1.lib:添加符号时出错:GCC中的文件格式错误

C++ vulkan-1.lib:添加符号时出错:GCC中的文件格式错误,c++,eclipse-cdt,vulkan,C++,Eclipse Cdt,Vulkan,错误: C:\VulkanSDK\1.0.17.0\Bin/vulkan-1.lib:添加符号时出错:文件格式错误 或 C:\VulkanSDK\1.0.17.0\Bin32/vulkan-1.lib:添加符号时出错:文件格式错误 我正在使用Eclipse版本:Neon Release 4.6.0 构建id:20160613-1800 编译器: Cygwin 2.5.20.297/5/3 MinGW-w64 gcc x86_64-posix-seh,由MinGW-w64项目6.1.0构建 标志:

错误:

C:\VulkanSDK\1.0.17.0\Bin/vulkan-1.lib:添加符号时出错:文件格式错误

C:\VulkanSDK\1.0.17.0\Bin32/vulkan-1.lib:添加符号时出错:文件格式错误

我正在使用Eclipse版本:Neon Release 4.6.0 构建id:20160613-1800

编译器:

Cygwin 2.5.20.297/5/3

MinGW-w64 gcc x86_64-posix-seh,由MinGW-w64项目6.1.0构建

标志:-m64或-m32

有人能告诉我我做错了什么,或者给我一个有正确设置的示例工作区吗

这是我的第一个跨平台项目,所以我可能做错了什么


我选择Eclipse的原因很简单,它在Windows和Linux上几乎相同。

1更新您的SDK最新版本ATMOW是17

2$vulkan_SDK/Bin中的vulkan-1.lib是MSVC++库,并且没有保证,它将在gcc中工作不适合我-Cygwin应该有一些支持,但它根本不适合我

尝试直接链接到vulkan-1.dll,它提供的是x64操作系统上的-L$WINDIR/System32 x64或64操作系统上的-L$WINDIR/SysWOW64 32,而不是SDK路径


否则,您将需要从源代码构建加载程序,这对Cygwin/MinGW来说将是一件痛苦的事情。我认为还没有官方的支持。或者,你知道,放弃Eclipse,加入我们的黑暗面。

你为什么要使用旧SDK?你不是在链接时交换了32位和64位版本吗?是的,每当我交换-m64和-m32时,我都交换bin和bin32。你在建vulcan库吗?您是否使用调试符号构建它?不,我没有构建它,我只是想将它添加到我的第一个跨平台项目中,这就是为什么我选择使用eclipse和gccI更新到版本17,并尝试Cygwin 2.5.2和MinGW-w64 gcc 6.1.0。来自两个路径${VULKAN_SDK}和${windir}的32位和64位,8个有效的组合都不起作用。我需要为Windows和Linux编译应用程序,我真的非常想要,当两个系统需要一个IDE时?我在问题中没有提到这一点,因为我认为回答这个问题并不重要,但您认为在Windows上安装Visual studio和在Linux上安装其他软件更好?如果可以,请尝试Cygwins gcc not MinGWs或Cygwin/MinGW。并确保它链接到正确的vulkan-1.dll,即x64二进制文件的System32。不管怎样,这种组合对我很有效……是的,在Windows上使用MS VS可能会更好,因为您项目的所有开发人员用户都将在他们的操作系统上使用他们习惯的环境。人们通常使用Cmake来转换为他们想要的任何东西。或者,你可以尝试使用MSVC++命令行链接器,但这可能会破坏你的IDE调试功能。是的,f**k Eclipse我加入了黑暗面,即使这将花费我宝贵的千兆字节。我已经和这个愚蠢的、令人费解的垃圾搏斗太久了,我是D.O.N.E。