問題タブ [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.

0 投票する
0 に答える
109 参照

c++ - Jam と静的ライブラリ

静的リンク用のPlatinum C++ ライブラリをビルドする必要があります。このために jam に提供できるコマンドは何ですか?

0 投票する
1 に答える
619 参照

c - ' への未定義の参照'

私は大きなコードに取り組んでいます。jam コマンドを使用してコード ベースをコンパイルすると、コード ベースに新しく追加されたヘッダー ファイルの「some_function」への参照が未定義であるという多くのエラーが発生します。このヘッダー ファイルには、他のすべての関連するヘッダー ファイルが含まれます。コードベースをコンパイルする前に、jam ファイルを変更する必要がありますか?

bundlemgr_distrib_im.c:

bundlemgr_distrib_config.h:

bundlemgr_distrib_config.c

ビルドログ:

別のエラー:

bundlemgr_distrib_acc_private.h (新規追加ファイル)

bundlemgr_distrib_db_private.h

bundlemgr_distrib_db_api.c

ビルドログ:

0 投票する
2 に答える
123 参照

c++ - Jam の使用時に g++ コンパイラの出力を表示するにはどうすればよいですか?

Jam を使用してプロジェクトをコンパイルしていますが、デバッグ レベルをどれだけ高く設定しても、探している詳細が表示されないようです。

g++-Mまたはフラグを使用-Hして、どのヘッダーが含まれているかを確認したい (特別なディレクトリからシステム ヘッダーを含めたい)、これらが機能することをテストしました。次のようなものが表示されます。

これにより、Jam がなくてもソリューションが正常に機能していることを確認できますが、Jam によって問題が発生していないことを確認したいと思います。

私は試してみjam -d 9 | grep include | grep i686ましたが、何も表示されません。

ここで何がうまくいかないのでしょうか?生のコンパイラ出力が難読化されているのはなぜですか?

0 投票する
2 に答える
613 参照

boost - Boost Jam ファイルで複数の静的ライブラリを 1 つの共有ライブラリに結合する

こんにちは、次のプロジェクト階層があります:
-Top
------lib1
----------Jamfile
------lib2
----------Jamfile
----- -ジャムルート

libs:lib1 と lib2 はどちらも静的 libs(.a) であり、Jamfile は次のコマンドで構成されています。

lib $(ライブラリ) : [ glob *.cpp ] : <link>static ;

Jamroot レベルでは、上記の 2 つの静的ライブラリをすべて組み合わせて、単一の共有ライブラリ (.so) を作成する必要があります。lib1.a と lib2.a を組み合わせて、libmain.so を形成する必要があります。

上記の目的を達成するために必要な bjam ステートメントを Jamroot.jam ファイルに記述する方法を教えてください。

0 投票する
2 に答える
427 参照

macos - jamplus: リンク コマンド ラインが osx に対して長すぎます

jamplus を使用して、ベンダーのクロスプラットフォーム プロジェクトを構築しています。osx では、C ツールのコマンド ライン (clang を介して ld に供給) が長すぎます。

応答ファイルは、長すぎるコマンド ラインに対する古典的な答えです。jamplus はマニュアルで、応答ファイルをその場で生成できると述べています。

マニュアルの例は次のようになります。

もうすぐそこ!C.Link コマンドを具体的に吹き飛ばすと、次のようになります。

私の jamfile では、リンカにパススルーするために必要なコマンド ラインを取得しますが、応答ファイルは改行で終了していないため、リンクは失敗します (osx ld では改行で区切られたエントリが必要です)。

  1. 改行で結合された jamplus リストを展開する方法はありますか? $(LIST:TCJ=\n)運が悪い場合は、結合拡張を使用してみました。$(LIST:TCJ=@(\n))どちらも機能しません。これができれば、生成されたファイルは正しいはずです。
  2. そうでない場合、clang のリンク コマンドをオーバーライドし、リストからオンザフライでコンテンツを生成するために、どの jamplus コードを使用できますか? これを処理する最も侵襲の少ない方法を探しています。理想的には、リンクが必要な場所に新しい間接的なターゲットを追加するのではなく、ツールを直接変更/オーバーライドします。
0 投票する
1 に答える
46 参照

c++ - jamスクリプトのファイル拡張子の変更

jam スクリプトの入力ファイルから拡張子を変更するにはどうすればよいですか。Linuxボックスでは、次の作業コードがあります-

for ループ内の 1 行目は、cpp ファイル名を選択し、その拡張子を から<File>.cppに変更し<File>.objます。Windows プラットフォームと互換性のあるこれらの変更を変換する必要があります。ブーストビルドプロセスの一部のモジュールがこれを行う方法を提供していたと思いますが、これでのGoogle検索はあまり役に立ちませんでした.

objNameobj ファイル拡張子を含み、これらの変更がプラットフォーム間 (特に win/linux) で互換性を保つために、上記のコードでどのような変更を行う必要がありますか。

0 投票する
0 に答える
158 参照

makefile - Makefile からの jam の呼び出しが機能しない

私のメイクファイルでは、別のディレクトリに移動して、次のようなものでジャムを呼び出そうとしていました:

これは機能しませんでしたが、「不明なターゲットです。「Jamrules」を編集してください」という問題が発生しました。コマンドラインでまったく同じコマンドが完全に機能しますが。だから、ジャムがターゲットを見つけることができることを知っています。

私も試しました

同じ結果のバリエーション。また、これはコマンドラインから完全に機能します。

「jam」以外のコマンドは、期待どおりに機能します (ls、ps、cat、pwd)。

更新: <somedirectory> に Makefile を作成してそこでmakeを実行しても、同じ結果が得られます。

なぜこれが起こるのかについてのアイデアをいただければ幸いです。そしてもちろん、試してみること。

最新の gnu make FT-jam 2.5.2 で cygwin を実行しています。

0 投票する
1 に答える
110 参照

jam - Jam を使用してフォルダを作成する

プロジェクトでジャムを使用して、Visual Studio でのビルドを自動化しています。

サブディレクトリとファイルを $folder から $folder1 に移動しようとしています。$folder にはプロジェクトが含まれています $folder1 は空です。

File を使用してファイルをコピーします。

次のようなファイルをコピーしようとします:

ただし、$folder1 は空であり、フォルダー構造が含まれてい($folder1)\\subdir : ($folder)\\subdirないため、$folder1 が空であるため File は何もしません。

存在するかどうかに応じて、Jam にフォルダを作成する方法はありますか?