1

premake4 の設定を premake5 に変換しています。prebuildcommands が含まれている premake5.lua があるディレクトリではなく、ルート作業ディレクトリからコマンドが実行されるため、prebuildcommands が失敗します。premake4 は、prebuildcommands 呼び出しを含むサブディレクトリでそれらを実行しました。

これは新しい意図された動作ですか? もしそうなら、私が見つけることができるどこにも文書化されていません。バグでない限り、パスを修正してもかまいません。

4

1 に答える 1

1

これは私には正しい動作のように見えます。Premake はパスを識別するためにコマンドを解析しようとしないため、入力されたままになります。コマンド自体は、ビルド ツール (Visual Studio、GMake など) によって実行されるため、その時点でツールが現在のディレクトリにするすべてのディレクトリで動作します。

私が正しく読んでいれば、コマンドをプロジェクトディレクトリで実行したいので、どうですか:

prebuildcommands { 
   "%{prj.location}/styx/utils/ndate > %{prj.location}/include/kerndate.h" 
}

Visual Studio の場合、Premake はこれらのトークンを に変換$(ProjectDir)して、生成されたプロジェクト ファイルとの相対関係を保ちます。

于 2015-06-25T17:23:48.463 に答える