当我尝试运行此代码时
if(SDL_Init(SDL_INIT_VIDEO) < 0)
printf("%s\n", SDL_GetError());
if(!SDL_CreateWindow("test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_VULKAN))
printf("%s\n", SDL_GetError());
安装工作的gpu驱动程序并连接vulkan之后, 我得到了这个输出:
Vulkan支持未在SDL中配置或在视频驱动程序中不可用
我正在使用Geforce GTX 660M +官方驱动程序和SDL2版本2.0.8在ubuntu上运行。看起来像SDL中的一个错误,但我想要确认。
答案 0 :(得分:1)
与vulkan lib链接并不意味着SDL实际上使用的是vulkan函数。您可以使用不使用的库链接任何内容,它不会触发任何警告或问题。
尝试编译
int main() { return 0; }
并添加所需的所有链接标记。
该错误告诉您未使用vulkan支持编译的SDL二进制文件。您需要手动编译SDL。如果没有设置编译标志,Vulkan可能会被遗忘。
顺便说一句,我在ubuntu软件包中遵循了libsdl2的规则(我猜你有ubunt 18.04&gt;)并且事实上vulkan已被禁用
# the SDL module for Vulkan not compiling even in Linux at the moment
confflags += --disable-video-vulkan