2016-03-23 77 views
2

我試圖寫一個簡單的基於福爾康的應用程序,但試圖在表面擴展名添加到啓用的擴展名列表的時候,像這樣:VK_KHR_WIN32_SURFACE_EXTENSION_NAME不確定,在福爾康代碼

enabledExtensions.push_back(VK_KHR_SURFACE_EXTENSION_NAME); 
#if defined (_WIN32) 
    enabledExtensions.push_back(VK_KHR_WIN32_SURFACE_EXTENSION_NAME); 
#else 
    enabledExtensions.push_back(VK_KHR_XCB_SURFACE_EXTENSION_NAME); 
#endif 

Visual Studio中抱怨說, VK_KHR_WIN32_SURFACE_EXTENSION_NAME未定義。

當我右鍵單擊它並進入定義,它打開vulkan.h。經過檢查VK_USE_PLATFORM_WIN32_KHR我發現這也是未定義的,這防止了VK_KHR_WIN32_SURFACE_EXTENSION_NAME的定義。有人可以解釋如何解決這個問題嗎?

回答

9

事實證明,我是缺少在項目設置一些預處理程序指令:

VK_PROTOTYPES 
VK_USE_PLATFORM_WIN32_KHR 

我希望這個信息幫助了人誰具有同樣的問題。

+1

沒有VK_PROTOTYPES,但是VK_NO_PROTOTYPES,效果相反。換句話說,要解決這個問題,您只需要VK_USE_PLATFORM_WIN32_KHR –