3

インクルードファイルを検出するこの方法を使用しましたが、検出されなかった場合のエラーは実行されません。

include(CheckIncludeFile)
check_include_file("getopt.h" HAVE_GETOPT_H)
if(!HAVE_GETOPT_H)
  message( FATAL_ERROR "getopt Not Found" )
endif()

しかし、空の文字列が機能していることを確認すると、インクルードファイルが見つからない場合にメッセージが出力されます。

include(CheckIncludeFile)
check_include_file("getopt.h" HAVE_GETOPT_H)
if("${HAVE_GETOPT_H}" STREQUAL "")
  message( FATAL_ERROR "getopt Not Found" )
endif()

私は何か間違ったことをしていますか?私はcmakeバージョン2.8.3を使用しています。

4

1 に答える 1

3

CMakeのコマンドは、ではなくifを使用して引数を無効にします。NOT!

あなたがする必要があります:

if(NOT HAVE_GETOPT_H)
于 2013-03-26T14:40:07.157 に答える