VCPKGは、OpenGLのエラーをインストール

環境: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の

リリース8元の記事 ウォンの賞賛1 ビュー398

おすすめ

転載: blog.csdn.net/weixin_42725244/article/details/103864679