問題タブ [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.
build - カスタム コンパイラ用の waf ファイルを作成するにはどうすればよいですか?
make で魔法の記号を調べるのにうんざりして、 wafを試すことにしました。
caliber を使用して電子ブックを作成しようとしていますが、ファイルを取り込み、そのファイルを含むいくつかの引数を使用してプログラムを実行し、出力を生成する wscript を作成したいと考えています。Waf は、入力ファイルが出力よりも新しい場合にのみビルドする必要があります。
make では、次のような makefile を記述します。
% はファイルのベース名を表すマジック シンボルで、$ は出力ファイル名 (basename.epub) を表す記号です。
呼び出すmake soverflow.epub
と、soverflow.recipe で ebook-convert が実行されます。前回のビルドから .recipe が変更されていなければ、何もしません。
どうすればwafで同様のことを行うことができますか?
(なぜ waf なのか? それは私が既に知っている実際の言語を使用しているからです。これが scons で本当に使いやすいのであれば、それも良い答えです。)
python - MacOS10.7でpybindgenをビルドするときのwafエラー
MacOS10.7でPybindgenをビルドしようとしています。Lion EverythingはUbuntuで正常に動作しますが、...
OS Xでは、wafインストーラー(Pybindgenはwafを使用してビルドとインストールを行います)はこれを窒息させます:
=>しかし、Mac SDkには少なくともPython.hがあると100%確信しています...そこにあることはわかっています...wafがそれを確実に検出する方法がわかりません...wafには関数があります問題のように思われるcheck_python_headersと呼ばれます。どうすればこれを修正できますか?
python - WAF を使用した QT プロジェクトのビルド
waf を使用してプロジェクトをビルドしようとしています。プロジェクトは適切にコンパイルされていますが、リンク エラーがあります。リソース ファイル (.qrc ファイル) とのリンクに失敗します。
main.cpp.1.o: 関数
main': /home/sobingt/project/masterdetail/build/../main.cpp:20: undefined reference to
内 qInitResources_masterdetail()'
WAF 出力 --zones=deps
wscriptファイル
ツリー構造
私はそれがばかげた間違いに違いないことを知っています.助けてください. qtcentre に投稿された質問へのリンク 私はそれが愚かな間違いであることを知っています.助けてください. qtcentre に投稿された質問へのリンク
私が今試している解決策: Q_OBJECT マクロを含むすべてのヘッダー (またはソース) ファイルで moc を実行しています。
そして、ビルド中のソースに moc_something.cpp が追加されます。
リソースコンパイラを試しています:
次に、ビルド中のソースに masterdetail.cpp を追加する必要があります。
上記はqmakeによって自動的に行われると思います..適切な解決策を見つけるために手動でコンパイルしています
installation - wafでディレクトリを再帰的にインストールする方法
現在、次のvaladocビルドタスクを使用して、valaアプリケーションのAPIドキュメントを生成しています:
このタスクは、html ファイルと画像ファイルを含むいくつかのサブディレクトリを含むディレクトリ html を出力ディレクトリに作成します。
私がやろうとしていることは、そのようなファイルを /usr/share/doc/projectname/html/ にインストールすることです。そのために、wscript_build ファイルに以下を追加しました (ここで見つけたドキュメントに従ってください)。
ただし、これにより「Missing node signature」というエラーが発生します。このエラーを回避する方法を知っている人はいますか? または、waf を使用してディレクトリを再帰的にインストールする簡単な方法はありますか?
ここで本格的なサンプルを見つけることができます。
c - waf - ビルドは機能するが、カスタム ビルド ターゲットは失敗する
次の wscript ファイルを使用すると、 waf コマンドwaf build
はコンパイラ エラーを表示します (存在する場合waf debug
) 。waf release
次の原因によるエラーwaf debug
:
私はwafのデモを見て、セクション6.2.2のwafbookを読みましたが、この問題を解決するための貴重な情報を提供してくれませんでした。
何が問題なのですか? どうすれば修正できますか?
python - パッケージを配置する場所をPython wafに伝える方法は? virtualenv で動作しますか?
選択したディレクトリに既製の waf パッケージ (py2cairo) をインストールしようとしています。理想的には私の virtualenv でsite-packages
。これは簡単なはずですが、wafにそれをさせることができないようです。
好きなものに変えたい/usr/local/lib/python2.6/site-packages/cairo/__init__.py
。これを行う構成オプションが見つかりません。
この--prefix
コマンドはプレフィックスを文字列に追加しますが、変更しません。違いは--destdir
ないようです。
c++ - WindowsのwafビルドQtプログラムからコンソールを削除します
私はwafで構築しているこのQtプログラムを持っています。私はそれをウィンドウズでテストしていて、exeファイルを実行するたびにコンソールが開きます。(Qt)proファイル(qmakeでビルドする場合)では、必ず削除する必要があります
しかし、どのリンカーフラグがわからないので、これを実現するにはwscript(waf)を追加する必要があります/SUBSYSTEM: WINDOWS
。プログラムをWindowsプログラムとして使用するには、msvccomplierを指定する必要があります。
助けてください。
私のwscript.py
qt - Windowsからコンソールに切り替えるときのリンカーエラー
私はGUIにQtを使用しており、wafでプロジェクトを構築しています。コンソール(デフォルト)からWindowsサブシステムに切り替えるには、この引数をwscript(waf)を介してVSリンカーに渡す必要がありました。
これをwafファイルのビルド部分に追加しましたが、このエラーが発生します
このプログラムをコンソールとしてではなくウィンドウとして実行したい。コンソールとして実行するとコードが機能する
ubuntu - 有効なビルド:パッケージlibvala-0.12がpkg-config検索パスに見つかりませんでした
最新バージョンのvalide(0.7.1)をビルドしようとしています
自分のマシン(Ubuntu 10.0.4 LTS)でVALA(v 0.17.0)を正常にビルドしました。私が走るとき
./waf configure
valide srcディレクトリで、次の出力が得られます。
システム上の関連する.pcファイルを確認しました
次に、関連するENVVARを次のようにエクスポートしました。
次に実行し./waf configure
ます。残念なことに、以前に投稿したものとまったく同じ出力が得られました。
Ubuntu 10.0.4 LTSでvalideをビルドするには何を修正する必要がありますか?
c++ - wafビルドシステムを使ってBoost.Asioとプログラムを連携
最も単純なBoost.Asioチュートリアルの例「timer1」(timer.cppにあります)を、Debianのsqueeze、python 2.6.6でwafを使用して構築しようとしています。
root@ds:/var/timer# ls
timer.cpp wscript
ここにwscriptはwafの構成です:
waf configure
成功しています。
しかし、エラーで終了します(行をマークするために下waf --verbose build
に挿入しました)<*>
waf で呼び出された gcc がリンク時に boost_system ライブラリを見つけられなかったようです。
しかし、waf を使用せずに gcc でサンプルをビルドすると、すべて正常に動作します。
ご覧のとおり、waf で使用されるコマンド ライン ( でマーク<*>
) は、 でマークされたコマンド ラインと同じです<**>
。しかし、結果はまったく異なります。なんで?そして、どうすればwafにそれを構築させることができますか? ここからの解決策も私にはうまくいきません。また試した
しかし何の効果もなく
そして別の質問です。の出力は、 のgcc --verbose
出力よりもはるかに広範囲ですwaf --verbose
。verbose
オプションはwafにそのようなすべての情報を表示させる必要があるように思えました。なぜそうではないのですか?waf オプション -vvv もこの情報を表示しません。