問題タブ [jam]
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.
build - Jamでディレクトリ間の依存関係を定義する
何年にもわたってmakeを使用した後、プロジェクトでjam(実際にはftjam)を使い始めました。
プロジェクトワークスペースには、次の2つのディレクトリがあります。
src
実行可能ファイルとライブラリを構築する場所test
私のテストプログラムはどこにありますか
テストプログラムへの依存関係を設定して、コンパイルするたびにライブラリも再コンパイルされるようにしようとしています(必要な場合)。
それを行う方法について何か提案はありますか?
migration - Boost Jamとは何ですか?Jamは移行する価値がありますか?
Boost Jamとは何ですか?Jamは移行する価値がありますか?
ジャムはPERFORCEによって構築されたビルドシステムであることは理解していますが、ブーストジャムと通常のジャムがどのように異なるのかわかりません。
また、SOコミュニティに協力してくれた人がいて、いくつかの違いや利点を強調できる人がいることを願っています。
visual-studio - Jamfiles から Visual Studio プロジェクトをビルドしますか?
Jamfiles に基づくビルドから Visual Studio プロジェクトを作成する方法を知っている人はいますか?
jamfile -> XML またはその他の中間形式のエクスポーター ツールで解決するので、独自のツールを作成できます。
c++ - Jam make ツールを使用して異なるバージョンのプロジェクトをビルドするにはどうすればよいですか?
リリース、デバッグ、共有ライブラリ、実行可能ファイルなど、さまざまなバージョンにコンパイルする C++ プロジェクトがあり、それぞれに異なるコンパイラ フラグが設定されています。Make の代わりに Jam を試しています。Jam の方がシンプルなシステムに見えるからです。
ジャムはこれができますか?主な問題は、常に .o ファイルをソース ファイルと同じフォルダーに配置するため、複数のバージョンをビルドするときにそれらを上書きすることです。
アップデート
うまくいくと思われる解決策を見つけました。このファイルを使用して、ライブラリまたは実行可能ファイルのデバッグおよびリリース構成をビルドできます。
リリース ライブラリをビルドするコマンド:
のみを入力jam
すると、デバッグ実行可能ファイルがビルドされます。Jamfile は次のとおりです。
unit-testing - Jamでgtest_mainライブラリを使用してgoogletestユニットテストを構築するにはどうすればよいですか?
使用できる可能性のある新しい単体テストフレームワークとして、概念実証用のgoogletest単体テストを構築しようとしています。googletestでは、単体テストを作成する方法が2つあります。メインを使用する方法とメインを使用しない方法です。mainを定義しない場合は、main()関数を含むgtest_mainライブラリにリンクして、時間を節約できます。私の環境では、Jamを使用してバイナリを構築しています。コード内でmain()を使用してlibgtestライブラリを使用してコンパイルするバイナリを取得しましたが、mainを使用せずにJamでビルドする方法を探しています。
基本ケース(main()関数を使用):
私はこれでバイナリを構築することができます:
壊れたケース(main()関数なし):
これでバイナリを作成することはできません。オブジェクトをリンクしようとすると、多くのエラーが表示されます。
何とかへの未定義の参照に関連する多くのリンカーエラーが発生します。未定義の参照は、私のコードの一部ではないtesting::internal名前空間から来ているようです。
これをどのように攻撃できるか、または問題に関するより多くの手がかりを探す方法について何か考えはありますか?
build - Jam でビルド ディレクトリとインクルード ディレクトリを分離する
ビルド システムとして Jam の使用に切り替えたいと考えています。現在、src、include、および build ディレクトリがあり、Jam にオブジェクト ファイルを build ディレクトリに配置し、include ディレクトリで include ファイルを検索する方法を考えています。
c++ - -g debugフラグを使用してboostをコンパイルする方法は?
Boostライブラリを再コンパイルしたいのですが、-gを使用してデバッグフラグを有効にします。私は読んでいて、私たちがでブーストを構築していることを確認しましたjam
。make
私はよく知っていますが、jam
いつも私を避けてきました、そして私の欲求不満は高まっています。
c++ - Windows で LuaPlus をビルドする方法
JamPlus をダウンロードし (これが必要な特定の Jam 派生物であり、ダウンロードに同梱されていないことを発見するのにかなりの時間を費やした後)、PATH 変数を指定どおりに設定しましたが、機能しません。
具体的には、Jam は、ソース フォルダーが見つからない、存在しないプロジェクトに書き込むなどのエラーのトランクをリストします。また、Visual Studio で実際に出力されたものをビルドしようとすると、69 個のプロジェクトのビルドがスキップされ、他の 1 つのプロジェクトのビルドに失敗します。
LuaPlus をビルドするにはどうすればよいですか? または、単に...ソースを直接含めるか、何か...?
cross-platform - JamからCMakeに移行する
Jamが既存のプロジェクトをビルドし、CMakeがビルドするプロジェクトを生成することを理解しています。しかし、JamをそれらのIDEに統合しようとするのではなく、さまざまなIDEで使用できるプロジェクトを生成したいので、JamfileをCMakeLists.txtファイルに変換した経験/成功はありますか?
qnx - QNX Neutrino ホストの組み込み変数 $(OS) に Jam を入れる値は?
ビルド ホストに応じてコンパイルを構成する必要があります。Windows と Linux は簡単で、とにかく自分でテストするためにビルド ホストにアクセスできます。
私がこれまで完全に見つけられなかったのは、$(OS) の値と、私の期待を確認するためだけに $(OSPLAT) の値です。OSPLAT は、QNX がサポートする他の SDP パッケージと同様に、x86 マシン上の X86 であると想定しています。
誰でも QNX SDP がインストールされた QNX/Neutrino システムにアクセスできる場合、以下の Jam スクリプトで結果を生成できます。