問題タブ [waf]
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.
waf - カスタム タスクによって作成された静的ライブラリを使用する方法は?
waf を使用して makefile をトリガーし、別のライブラリをビルドします。このために、次のタスクを作成しました。
use キーワードで「metis」を使用できるように、タスクが静的ライブラリを作成したことを waf に伝えるにはどうすればよいですか。
c++ - Wafを使用してローカル外部ライブラリを検索する
システムにインストールするのではなく、プロジェクトディレクトリに保存されている外部ライブラリをリンクできるwscriptファイルを作成していますが、そのための最善の方法がわかりません。
現在、私は次のようなことをしています。
この場合、A.libのローカルコピーにリンクしてから、コードの後半でA.dllをインストールディレクトリ(ローカルの「dist」ディレクトリ)にコピーするようにマークします。ただし、システムにインストールされているライブラリについては、次のようにさらに何かを行うことができます。
私の質問は、ローカルに保存された外部ライブラリを使用してこれと同様のことを行う方法があると思います。おそらく何かcheck_cxx(libpath="external/blah", ...)
または何かのようなものですか?
autotools - autotools ターゲットが WAF によってビルドされている
autotools から WAF へと段階的に移行しようとしています。私たちのサブプロジェクトのほとんどは自動ツールであり、それらを一度に WAF に変換したくはありません。
WAF と autotools を混同する際のヒントや留意点はありますか。
各 autotools サブプロジェクトで、基本的にシェル コマンド「./configure」、「make」、「make install」だけを実行する単純な wscript を作成することを考えていました。WAFサンプルディレクトリでこれ以上の解決策を見つけることができませんでした. それで、皆さんにもっと良いアイデアがあるかどうか疑問に思っていましたか?
ありがとう!
python - 大規模プロジェクトでの Scons と Waf の選択
非常に大規模なプロジェクトを GNU Make から最新のビルド ツールに変換することを考えています。私の現在の提案は、SCons または Waf を使用することです。
現在:
- ビルド時間は約 15 分です。
- 約100人の開発者。
- コードの約 10% は C/C++/Fortran で、残りは Ada (gnatmake を使用) です。
改善に対する潜在的な希望/利益は
- ビルド時間を短縮し、ディスク容量を必要とする共有コンパイラ キャッシュ
- メンテナンスが容易
SCons はこのタスクに適していますか? Wafと同様にスケーリングしないというコメントを見てきました。ただし、それらは数年前のものです。スコンズは過去数年間のパフォーマンスで獲得しましたか? そうでない場合、Waf と比較してパフォーマンスが悪い理由は何ですか。
c++ - waf を使用した C++ ヘッダーのみのライブラリ
こんにちは、waf (1.7.5) に完全に移行する前に、次の構造の単純なプロジェクトを作成しようとしました。
これはルートwscript
です:
これは次のapplication
wscript
とおりです。
これはlibrary1
wscript
(注: fortarget
の代わりにを使用してみました。また、 の機能を有効にしようとしました。)name
library1
cxx cxxshlib
library1
これは次のmain.cpp
とおりです。
そして、これは私が得るエラーです:
ヘッダーを含める方法を変更したくありませんが、そのためには、プロジェクトの設定方法を変更する必要があるようです。
ご意見をお寄せいただければ幸いです。ありがとうございます。
EDIT:解決しました、それは単なるタイプミスでした(inludes
代わりにincludes
andexport_inludes
の代わりにexport_includes
)。
build - 非標準の c コンパイラを Waf で使用する
私は非標準の C コンパイラを持っています。この例ではそれを comp と呼びます。
Waf でどのように使用できますか?
すべての例で次のことがわかります。
そして、ビルドやタスクがそれに関連付けられるように、独自のコンパイラ - comp をロードしたいですか?
ありがとう!
waf - waf 1.7: 環境をどのようにコピーしますか?
複数のターゲット、複数のプラットフォーム、および場合によっては複数のアーキテクチャ用に複数のライブラリを構築している waf ファイルがあります。
私は現在、waf 1.7 のドキュメントに従って次のようなバリアントの環境をセットアップしています。
ただし、これにより、waf は configure 中にコンパイラを検索して複数の行を出力します。それはまた、同じ環境の近くに何度も頻繁にセットアップしていることを意味します. 可能であれば、これを一度実行したいと思います。たとえば、次のようになります。
ただし、 conf.env.derive は浅いコピーであり、 conf.env.copy() はエラー'list' object is not callableを返します
これはwaf 1.7でどのように行われますか?
c++ - 特に特定のモジュールに対して gcc フラグ (CXXFLAGS) を指定する方法は?
最近、新しい NS3 モジュールを構築しています。私のコードでは、 の新しい機能を使用しています。構成システムに gcc フラグ (CXXFLAGS)をC++11 (c++0x)
追加したいと考えています。"-std=c++0x"
waf
私はこれを試みました:CXXFLAGS="-std=c++0x" waf configure
、そしてそれをビルドします。ただし、ipv4-address などの既存のモジュールの一部は と互換性がないことが判明しましたc++11
。したがって、他のモジュールが c++11 でコンパイルされないように、特に新しいモジュールに対してこのフラグを指定したいと考えています。
これを新しいモジュールの wscript に追加しようとしました:
最初の試行として失敗します。
どうやってやるの?
linker - NS3 で yaml-cpp を使用する方法
NS3 モジュールで yaml-cpp lib を使用する方法を知っている人はいますか?
ソースコードを書き終えたのundefined reference to
ですが、wafでビルドするとエラーが出てリンクの仕方がわかりません。