7

automakeからcmakeに変換する際に、関数の存在についていくつかのテストを実行する必要があります。configure.acスクリプトを作成しませんでしたが、次のように機能を厳密に再現する必要があるため、これらのチェックについて私を怒らせないでください。私はそれらを作らなければなりません。

そのため、CheckFunctionExistsモジュールを使用して、(とりわけ)time関数の存在を確認しようとしています。これがcmakeコードです

include(CheckIncludeFiles)

CHECK_FUNCTION_EXISTS(time, HAVE_TIME_FUNCTION)

if(NOT HAVE_TIME_FUNCTION)
    message(FATAL_ERROR "ERROR: required time function not found")
endif(NOT HAVE_TIME_FUNCTION)

私には時間機能があることを知っていても、これは毎回失敗します(ええと)。timeをprintfに置き換えてみましたが、それでも失敗します。このチェックを正しく機能させるために必要な設定はありますか?

4

2 に答える 2

7

以下を削除する必要があり,ます。

CHECK_FUNCTION_EXISTS(time HAVE_TIME_FUNCTION)

CMake では、セパレーターはスペースまたはセミコロンで、コンマは変数の一部です。

于 2012-08-15T21:00:49.877 に答える
6

CMake 標準モジュールを含め、呼び出しCheckFunctionExistsでコンマを削除します。check_function_exists

include(CheckFunctionExists)
check_function_exists(time HAVE_TIME_FUNCTION)
于 2012-08-15T20:58:53.187 に答える