問題タブ [premake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
premake - system() の値を取得するには?
premake5 で system() の現在の値を取得するにはどうすればよいですか? (より一般的には、architecture() や platform() などの関数)
印刷しようとしたのですが、関数であり、system() の戻り値を印刷しようとすると、「'tostring' への引数 #1 が正しくありません (値が期待されます)」と表示されます。
lua - FreeBSD 10.1 で Premake5 がビルドされない
ソースから FreeBSD 10.1 で Premake5 をビルドしようとしています。「-dl」オプションを削除し、ビルドにgmakeを明示的に使用して、最終的にコンパイルしました。ビルドしましたが、次のエラーメッセージを吐き出す以外に何もできません。どのように呼び出すかは問題ではありません。「premake5 --help」でもクラッシュします。
メッセージは次のとおりです。
パニック: Lua API の呼び出しで保護されていないエラーが発生しました (文字列値を呼び出そうとしました)
macos - premake4 のインストール/実行方法
Mac osx に premake4 をインストールしようとしていますが、ドキュメントやヘルプがどこにも見つかりません。誰かが私を助けてくれれば幸いです。
ファイルをダウンロード/保存premake-4.4-beta5-macosx.tar.gvし、それをダブルクリックすると、premake4 という名前のファイルが作成されました。それをダブルクリックすると、以下を含むページ(私が間違っていなければターミナル)が開きました:
これについては何も入力したり変更したりすることはできません。ターミナルで単一引用符なしで「premake4 --help」と入力しようとしましたが、コマンドが見つかりませんと表示されます。他に何をすべきかわかりません。:(
premake - 共有ライブラリと静的ライブラリの混在
premake5 を使用して、複数のプラットフォームで複雑なアプリケーションを構築しています。私のアプリケーションは、静的および共有/動的外部ライブラリの両方にリンクしています。この場合、premake で生成された「gmake」make ファイルを壊す、ビルド チェーンの重要な依存関係があるようです。
適例:
premake 'link' ステートメントで共有ライブラリと静的ライブラリを混在させると、GCC は混乱し、共有ライブラリ参照が実際には静的ライブラリであると想定するようです。それらが見つからない場合、リンク段階は失敗します。これは通常、共有ライブラリの前に「-Bdynamic」を付けることで処理されます。残念ながら、premake5 に外部リンク ライブラリが静的か動的かを伝える方法がないため、make ファイルを手動で修正する必要があり、ビルド ユーティリティの目的が無効になります。
これは一種のショーストッパーです。"-Bdynamic" を linkoptions にそのまま入力することはできないと思います。これは、共有ライブラリのリストが後に続く必要があるためです。
premake - premake5 プリコンパイル済みヘッダーが機能しない
(これは、Web サイトでダウンロードできる Premake5 アルファ バイナリを使用しています)
既存の VS ソリューションを premake5 を使用するように移植しようとしています。
MS スタイルのプリコンパイル済みヘッダー (stdafx.h/stdafx.cpp) を使用します。
これをテスト プロジェクトとして指定すると、次のようになります。
プリコンパイル済みヘッダーを使用するようにプロジェクトを設定しますが、プリコンパイル済みヘッダー (/Yc) を生成するように stdafx.cpp を設定していません。代わりに、プロジェクト内のすべてのファイルが使用しようとしており (/Yu)、誰も PCH を生成していません。だから建たない..
これは何とか機能すると思いますが、ここで欠けている黒魔術は何ですか?
ここに、参照用の私の premake5 ファイル全体があります
関連する質問の 1 つ: プロジェクト内の特定のファイルでプリコンパイル済みヘッダーの使用を無効にするにはどうすればよいですか? PCH が含まれていると一部のファイルがビルドされないため、既存のソリューション/プロジェクトでそれらを手動で無効にしました。
ありがとう!
premake - premake5 スレッド ビルディング ブロック (TBB) の設定方法は?
TBB を premake5 で動作させようとしています。
TBB のプロジェクト ファイルでは、かなり非標準的な処理が行われています。
プロジェクトに.asmファイルが含まれています(premake5はこれで問題ないようです)
.asm ファイルは 32 ビット/64 ビットなどで異なるため、アーキテクチャによっては一部のファイルを除外する必要があります。TBB は、VS で「ビルドから除外」フラグを使用してこれを行います。このようにして、ファイルはプロジェクトに表示されますが、除外フラグが設定されていない場合は実際のビルドのみになります。premake5 でこれを複製する方法はまだ見当たりません。Premake5 には「除外」がありますが、ファイルをビルドされていないとマークするのではなく、プロジェクトからファイルを完全に削除しているように見えます。また、プラットフォームでフィルタリングすると機能しないようです。
asm ファイルは次のようにマークされています。項目タイプ = TBB のプロジェクトの Microsoft マクロ アセンブラー。premake5 でこれを行う方法がわかりません。現在、それらを premake5 で生成されたプロジェクトに追加すると、項目タイプが空白になります。また、TBB はそれらを Execute Before: Midl Execute After: CustomBuild とマークします。
これは、premake5 がサポートする範囲を超えている可能性があるように思われるため、サポートされていない可能性もあります:/ ?
premake - premake 5 を使用して、プロジェクトの場所ではなく、ルート フォルダーに相対的なインクルード ディレクトリを作成しますか?
最新の premake 5 アルファを使用して Visual Studio プロジェクトを生成しています。プロジェクト構造は次のようになります。
事前作成スクリプト:
ロケーション関数を使用してルート ディレクトリのプロジェクト フォルダーにプロジェクト ファイルが生成されるように、プリメイク スクリプトをセットアップしました。includeirs 関数を使用して、ルート フォルダーにインクルード フォルダーを追加しました。premake スクリプトに関連するように指定しました。Visual Studio で自分のプロジェクトのインクルード ディレクトリを見ると、ディレクトリはプロジェクトが生成されたフォルダーに対して相対的です。この場合、「....\include」になります。結局、Window.cpp ファイルに含めようとすると、Window.h ファイルが見つからないということになります。
ソリューション ファイルとプロジェクト ファイルをルート フォルダーに直接生成すると、すべてを機能させることができます。できればこれは避けたいです。
Visual Studio 用に別のフォルダーにプロジェクト ファイルを生成しながら、入れ子になったフォルダー構造でソース コードを整理できるように、スクリプトを変更する方法はありますか?
ありがとう!
premake - プラットフォーム ツールセットに応じて premake スクリプト ディレクトリとライブラリを構成する
ビジュアル スタジオ プロジェクト ファイルを変換して、プリメイクを使用してさまざまなビジュアル スタジオ バージョンのソリューションを生成しようとしています。
プラットフォーム ツールセットに応じて異なるインクルード ディレクトリ、ライブラリ ディレクトリ、および dll を設定するように、各ライブラリの構成関数を作成したいと考えています。構成またはフィルター コマンドを使用しようとしましたが、これは機能せず、代わりにすべてのライブラリとディレクトリをプロジェクトに含めています。
私がやろうとしていることの簡単な例を以下に示します。
このようなことをするにはどうすればよいですか?
ありがとう!
premake - プロジェクトが生成されないようにする方法は?
プロジェクトを記述した premake5.lua ファイルで、特定の条件 (システム、アーキテクチャなど) ではプロジェクトが生成されないようにするにはどうすればよいですか?