こんにちは、私は次のコードを持っている、と私はライブラリが存在しない場合はcmakeのエラーcmakeの中の文が動作しない場合は
find_library(lx
NAMES libx.a
HINTS "/home/username/HDF_SOURCES/lib")
if(NOT lx)
message(FATAL_ERROR "libx.a not found")
endif()
を投げることを期待
私も試してみました場合(LX-NOTFOUND)が、ライブラリが存在しない場合でもcmakeは正常に実行されます。 !! ?
if(lx)でループを変更してライブラリパスが間違っている場合は、混乱する部分です。これはどのように可能ですか?私は間違って何かを理解しましたか?
私はNOT_DEFAULT_PATHを追加this答え
になっている正確にどのように動作する、問題を解決し、次いますが、 'lx'がキャッシュされていませんか? – usr1234567
'find_library()'はキャッシュされた変数に結果を格納します。したがって、ライブラリを一度しか見つけられなかった場合は、再度検索を実行しません。これを確認するために 'find_library()'コールの前に 'unset(lx CACHE')を試みてください。 – Florian
それはキャッシュされていませんでしたが、私はファイルを削除し続けました。 – itsnevertoobadtoaskforhelp