Windows 7 64 ビット、CMake 3.8.1、NVidia Cuda 8.0、NVidia Video Codec SDK 7.1.9 を使用しています。
私はこのファイルを持っています:C:\Windows\SysWOW64\nvEncodeAPI.dll
私はこのCMakeモジュールを持っています:D:\projects\git\myProject\CMakeModules\FindNVenc.cmake
次のように...
概要(該当箇所):
- 変数の出力 (場合によっては
ENV
単語の後に環境変数) - 印刷
find_library
コマンド find_library
コマンド実行中- 印刷
NVenc_LIBRARY
変数
内容そのまま(該当部分):
message(STATUS "NVenc_ROOT: ${NVenc_ROOT} ENV $ENV{NVenc_ROOT}")
message(STATUS "NVenc_INCLUDE_DIR: ${NVenc_INCLUDE_DIR} ENV $ENV{NVenc_INCLUDE_DIR}")
message(STATUS "NVenc_LIBRARY_DIR: ${NVenc_LIBRARY_DIR} ENV $ENV{NVenc_LIBRARY_DIR}")
message(STATUS "NVenc_LIBRARY_NAME: ${NVenc_LIBRARY_NAME}")
message(STATUS "find_library(NVenc_LIBRARY NAMES ${NVenc_LIBRARY_NAME} PATHS ${NVenc_LIBRARY_DIR} $ENV{NVenc_LIBRARY_DIR} ${NVenc_ROOT} $ENV{NVenc_ROOT} PATH_SUFFIXES lib NO_DEFAULT_PATH)")
find_library(NVenc_LIBRARY NAMES ${NVenc_LIBRARY_NAME}
PATHS ${NVenc_LIBRARY_DIR} $ENV{NVenc_LIBRARY_DIR} ${NVenc_ROOT} $ENV{NVenc_ROOT}
PATH_SUFFIXES lib
NO_DEFAULT_PATH)
message(STATUS "NVenc_LIBRARY: ${NVenc_LIBRARY}")
出力は
-- NVenc_ROOT: ENV D:\projects\git\libs
-- NVenc_INCLUDE_DIR: D:/projects/git/libs ENV
-- NVenc_LIBRARY_DIR: ENV C:\Windows\SysWOW64
-- NVenc_LIBRARY_NAME: nvEncodeAPI
-- find_library(NVenc_LIBRARY nvEncodeAPI PATHS C:\Windows\SysWOW64 D:\projects\git\libs PATH_SUFFIXES lib NO_DEFAULT_PATH)
-- NVenc_LIBRARY: NVenc_LIBRARY-NOTFOUND
これは、find_library
コマンドが私が持っているファイルを見つけられなかったことを意味します。この CMake モジュールは Linux で完全に動作します。(Windowsで変更を開始するまで機能しました。今は本当にわかりませんが、それでも機能するはずです。壊れた場合は修正します。)
どこかにタイプミスがありますか?わからないことはありfind_library
ますか?