SDL_CreateWindow在设置标志时失败SDL_WINDOW_VULKAN
SDL_CreateWindow fails when SDL_WINDOW_VULKAN flag set
当我尝试运行此代码时
if(SDL_Init(SDL_INIT_VIDEO) < 0)
printf("%sn", SDL_GetError());
if(!SDL_CreateWindow("test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_VULKAN))
printf("%sn", SDL_GetError());
安装工作 GPU 驱动程序并链接 Vulkan 后, 我得到这个输出:
Vulkan 支持未在 SDL 中配置或在视频驱动程序中不可用
我在 ubuntu 上运行,带有 Geforce GTX 660M + 官方驱动程序和 SDL2 版本 2.0.8。似乎是 SDL 中的一个错误,但我想要求确定。
与 vulkan lib 链接并不意味着 SDL 实际上正在使用 vulkan 函数。您可以将任何内容链接到不使用的库,它不会触发任何警告或问题。
尝试编译
int main() { return 0; }
并添加所需的所有链接标志。
该错误告诉您,您拥有的 SDL 二进制文件未在启用 vulkan 支持的情况下进行编译。您需要手动编译 SDL。如果没有设置编译标志,Vulkan 可能会被宏化。
顺便说一下,我去了 ubuntu 软件包中 libsdl2 的规则(我猜你有 ubunt 18.04>(,实际上 vulkan 被禁用了
# the SDL module for Vulkan not compiling even in Linux at the moment
confflags += --disable-video-vulkan
相关文章:
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 视图中的参数推导失败:take_while
- 链接到自行创建的dll失败
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- gcc和c++17的过载解析失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- SDL 窗口不会弹出
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- SDL在析构函数上释放曲面失败
- c++ OpenGL/SDL 2.0加载纹理失败
- 在windows上安装SDL失败,出现MinGW - dvec.h错误
- SDL项目CMake构建失败
- 链接器命令失败,sdl