環境:win10 + vs2017(Dにインストール:/)+ vcpkg + cmakeの
問題:VCPKG \ OSGによってインストールOpenGLのエラー
PS> ./vcpkg install --recurse --triplet x64-windows opengl osg
CMake Error at ports/opengl/portfile.cmake:20 (message):
Cannot find Windows 10.0.18362.0 SDK. File does not exist: C:\Program
Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64\OpenGL32.Lib
Call Stack (most recent call first):
scripts/ports.cmake:74 (include)
Visual Studioにインストールされたことにより、WIN10 SDK実際、私のインストールディレクトリD:/、インストールディレクトリ:
D:\ Windowsのキット\ 10 \ Libの\ 10.0.18362.0 \ UM \ x64の
インストールを完了するには、「vcpkg \ポート\ openglの\ portfile.cmake」を変更する必要があります
vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT)
vcpkg_get_windows_sdk(WINDOWS_SDK)
if (WINDOWS_SDK MATCHES "10.")
set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Include\\${WINDOWS_SDK}\\um")
elseif(WINDOWS_SDK MATCHES "8.")
set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Include\\um")
else()
message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
endif()
次のように改正:
GET_FILENAME_COMPONENT(SDK_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots;KitsRoot10]" ABSOLUTE CACHE)
vcpkg_get_windows_sdk(WINDOWS_SDK)
if (WINDOWS_SDK MATCHES "10.")
set(LIBGLFILEPATH "${SDK_PATH}\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(LIBGLUFILEPATH "${SDK_PATH}\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
set(HEADERSPATH "${SDK_PATH}\\Include\\${WINDOWS_SDK}\\um")
elseif(WINDOWS_SDK MATCHES "8.")
set(LIBGLFILEPATH "${SDK_PATH}\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(LIBGLUFILEPATH "${SDK_PATH}\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
set(HEADERSPATH "${SDK_PATH}\\Include\\um")
else()
message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
endif()
レジストリによるアドレスお問い合わせは、その後、接続を行います
参考サイト:GitHubの。