Web
수정·

[MacOS] QT Vulkan의 사용.

by Dohoon Kim · 22년 07월 14일 09:00:00

Cross Platform Qt Library는 5.10 version 부터 Vulkan을 지원하고 있습니다.

Qt 자체에서 제공하는 QVulkan* 형태로 객체화 되어 제공되는데,

MacOS 에서는 이를 사용하기 위해 별도의 과정이 필요합니다.

Qt Online Installer 에서 직접 설치하는 것으로는 이용이 불가능한 것으로 보입니다

이를 사용하기 위해서는 다음 과정을 거쳐야합니다.


[필수]

Lunar G Vulkan SDK 를 다운받아야 합니다.

MacOS 에서 SDK 설치 시 Home Directory 에 VulkanSDK 가 생성됩니다.

[이후 과정]

  1. Qt Source를 Git 에서 clone 또는 Mirror server 에서 qt-<version>.tar.xz 형태의 파일을 다운받습니다.
  2. 다운로드한 디렉토리로 이동
  3. ./configure -prefix $HOME/Qt/<version>/macos -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -skip qtwebengine -skip qtxmlpatterns -skip qtwebview -skip qtwebview -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtremoteobjects -skip qtscxml -skip qtopcua -skip qtpim -skip qtpositioning -skip qtqa -skip qtlanguageserver -opensource -I $VULKAN_SDK/include -L $VULKAN_SDK/lib


위 과정에서 눈여겨 보실 부분은 -I flag와 -L flag 입니다. 해당 옵션이외에 -skip 옵션은 무시하셔도 됩니다.

-skip 옵션은 최종 라이브러리 빌드에 제외할 submodule 을 명시하는 것이기 때문에 제외할 라이브러리들을 입력하신 뒤

빌드하시면 됩니다.


-I, -L 옵션이 없다면 빌드하더라도 QVulkan 라이브러리를 찾지 못합니다.

이는 <vulkan/vulkan.h> 내부에 존재하는 Predefined Macro 를 확인하여 Qt Library 를 구성할 때

제외할 라이브러리들을 구성하는 것으로 보입니다.


이후

cmake --build . --parallel 4

cmake --install .


을 통해 설치를 마치면 됩니다.


여기서 끝이 아니고, Qt Project를 생성하신 뒤 Project 설정에서 Environment tab에서

VULKAN_SDK 라는 환경 변수를 지정해주셔야하며

VULKAN_SDK=$HOME/VulkanSDK/<version>/macOS 폴더를 지정해주시면 됩니다.

또는

VULKAN_SDK=$HOME/VulkanSDK/macOS 폴더를 지정해주시면 됩니다.