Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 通过glfw或lunarg为代码::块设置vulkan_C_Mingw_Codeblocks_Glfw_Vulkan - Fatal编程技术网

C 通过glfw或lunarg为代码::块设置vulkan

C 通过glfw或lunarg为代码::块设置vulkan,c,mingw,codeblocks,glfw,vulkan,C,Mingw,Codeblocks,Glfw,Vulkan,我有code::blocks和一个空闲的晚上,想把我的手放在vulkan上。现在在Windows7上 在代码块中查找任何文档/教程或库都有困难。我有glfw 3.2,但它需要一个vulkan库和头文件来使用它(#define glfw#u INCLUDE_vulkan),否则它会合理地抱怨缺少vulkan/vulkan.h。还安装了LunarG,但在包中找不到任何可识别的库,我可以通过链接器设置以常规方式链接这些库 我现在的代码很简单: ... #include <GL/glu.h>

我有code::blocks和一个空闲的晚上,想把我的手放在vulkan上。现在在Windows7上

在代码块中查找任何文档/教程或库都有困难。我有glfw 3.2,但它需要一个vulkan库和头文件来使用它(
#define glfw#u INCLUDE_vulkan
),否则它会合理地抱怨缺少
vulkan/vulkan.h
。还安装了LunarG,但在包中找不到任何可识别的库,我可以通过链接器设置以常规方式链接这些库

我现在的代码很简单:

...
#include <GL/glu.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

int main(int argc, char **argv) {
    glfwInit();
    return glfwVulkanSupported();
}
。。。
#包括
#定义GLFW_包括_VULKAN
#包括
int main(int argc,字符**argv){
glfwInit();
返回glfwVulkanSupported();
}
使用
-lglu32-lglfw3-lopengl32-lgdi32

基本上,我想我需要的只是一个可以链接的图书馆,但在网上找不到

  • 对Vulkan来说,使用旧的GLU库可能不是一个好主意

  • 安装LunarG SDK

  • 在IDE项目中设置其他包含目录:
    $VULKAN_SDK/include
    VULKAN_SDK
    是一个带有SDK根目录路径的环境变量)

  • 如果您只打算使用Vulkan,请不要链接OpenGL

  • 代码::Blocks是基于g++还是基于clang的,对吗?链接到
    vulkan-1.dll
    <代码>-lvulkan-1应该足够了,因为路径应该在路径中。否则,请为路径提供
    -L
    -它位于
    $WINDIR/System32
    (适用于x64和x32操作系统)和
    $WINDIR/SysWOW64
    (适用于x64操作系统上的x32应用程序)中


  • vulkan-1.dll
    由驱动程序和SDK安装在那里。

    最初的想法是动态地在opengl和vulkan之间切换,但没有任何东西阻止我将其拆分为两个可执行文件。我将该路径链接到sdk中的
    bin32/vulkan-1.lib
    ,这很有效。800行之后,我设法得到了一个三角形弹出:/Linking到*.lib可能是首选。它总是在g++中给我链接器错误,所以我建议改为使用*.dll。