問題タブ [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.
c++ - Node.js用のネイティブC++モジュールのコンパイル、openSSL/libcryptoへのリンクが失敗する
Cygwin / Windowsを使用していて、node.jsのネイティブモジュールを構築しようとしています。OpenSSLライブラリを利用するつもりです。Cygwinパッケージマネージャーからopensslをインストールしました。
.ccファイルに次の行があります。
と
しかし、とリンク/コンパイルしようとするとnode-waf configure build
、次のようになります。
編集:
ビルドスクリプトの一部:
(-lcryptoを追加しようとしましたが、それでも同じ結果が得られます。「-lssl32」、「-lssleay32」、「-llibeay32」のさまざまな組み合わせも試しました。)
編集
ビルドスクリプトの出力:
編集
usr / include/opensslにヘッダーファイルdh.hがあります
そして、/ usr / lib /に必要なファイル(libssl32.dll、libeay32.dll、ssleay32.dll)があります。
答え
jHackTheRipperはこれに答えてクレジットを獲得しましたが、最終的な答えは彼の答えの下のコメントに埋もれています。要約すると、wafのマントラは
c++ - C ++リンカがファイルを認識できないのはなぜですか?
Cygwin / WindowsでのNode.jsのネイティブモジュールの構築:
私はこれを含むmonkey.ccファイルを持っています:
ランニング
私は次のようになります
次に、次のエラーが発生します。
monkeyFoo
monkey.h
は、という名前のディレクトリにあると定義されていmonkey
ます。monkey
ディレクトリとファイルを含むディレクトリから上記のコマンドを実行していmonkey.cc
ます。
編集:
node-wafが実行するPythonスクリプトであるwscriptは、次のようになります。
私は何が欠けていますか?
c++ - OpenSSL/libcryptoに対してコンパイルしようとすると怒ってしまいます
私はこれを3日近くやってみました。それは私を狂わせます。
ご想像のとおり、私はC++を初めて使用します。
誰かがopensslの関数を使用してhelloworldプログラムを実行し、Windowsのcygwinシェルからコンパイルするためのステップバイステップの手順を教えてもらえますか。
node.js - node.js をソースからコンパイルするときに CFLAGS を -g -O0 に変更するにはどうすればよいですか?
私は試した:
しかし、それはまだデフォルトのフラグを使用してい-g -O3
ますmake
.
回避する方法はありますか?
python - node-wafをインストールするにはどうすればよいですか?
まず、node.jsを実行した人に小道具を送ります。使用してから1日も経っていませんが、今のところPythonを使用しているものに使用することをすでに考えています。
実際、node.jsを実行した人は誰でも、今のところPythonを使用しているものにそれを使用することを検討する必要があります。Pythonにあり、npmが機能するために必要なnode-wafと呼ばれるツールがあるようです。もちろん、npmは他の便利なものにも必要です。
/mnt/michael/bin/node-waf
node-waf(にある)がScripting.py(にある/mnt/michael/node/tools/wafadmin/
;存在しないものを探していた)を見つけることができなかったため、元のインストールがうまくいかなかったと思います/mnt/michael/node/tools/../lib/node/wafadmin/
。そこで、node-wafをハッキングして適切なディレクターを指さし、続けて、はるかに深刻な問題を見つけました。
node-wafは「Python」で書かれていませんが、完全に優れた言語であるPython2.6では、私が使用している言語ですが、使用しているシステムのデフォルトの言語ではありません。システムはCentOSであり、Python2.4がコマンド「python」が呼び出すPythonである必要があります。はい、それはCentOSの人々の側では愚かですが、ノードwafの人々の側での同じ間違いよりも愚かではありません。なぜなら、彼らは必然的にOSのルールに従うからです。
ですから、まだ見つけていない「Python2.6を使う」というスイッチがあることを教えてください。また、適切なインストールに関するヒントをいただければ幸いです。
macos - OSX で Waf を使用して OpenGL/SDL アプリケーションをコンパイルするときに、「-arch」、「x86_64」フラグを抑制するにはどうすればよいですか?
Waf が GCC に渡す "-arch x86_64 -arch i386" フラグを抑制する必要があります。
SDL/Openglアプリケーションを構築しています。32 ビット SDL ランタイムにリンクすると、エラーが発生します
64 ビット SDL ランタイムにリンクすると、「アーキテクチャ x86_64 の未定義シンボル」というエラーが表示されます
コンパイラは明らかにフラグを使用しています
これにより、OSX 上の GCC が両方のアーキテクチャ用にコンパイルしようとすることを理解しています。64 ビット用にコンパイルするか、32 ビット用にコンパイルします。1 つのアーキテクチャのフラグを抑制するにはどうすればよいですか?
c - 「-arch x86_64 -arch i386」ではなく、OSX で「-arch i386」ターゲットのみをビルドするように Waf を強制するにはどうすればよいですか?
Waf は「-arch x86_64 -arch i386」を追加して、ユニバーサル バイナリを作成しようとしています。
32 ビットのランタイムしかなく、Waf がユニバーサル バイナリを作成しようとしているため、リンクに失敗しています。Waf で「-arch x86_64 -arch i386」フラグを削除し、「-arch i386」のみをコンパイルするにはどうすればよいですか?
c++ - 実行可能ファイル内のコード バージョンの追跡
私は、C++ で書かれた妥当なサイズ (約 40k 行) の機械学習システムを持っています。これはまだ活発に開発されており、コードに変更を加えても定期的に実験を実行する必要があります。
私の実験の出力は、単純なテキスト ファイルに取り込まれます。これらの結果を見て私がやりたいことは、それを生成したコードの正確なバージョンを把握する何らかの方法を持つことです. 私は通常、それぞれわずかに異なるバージョンのコードで、約 5 ~ 6 つの実験を同時に実行しています。
たとえば、ファイル A のバージョン 1、ファイル B のバージョン 2 などをコンパイルすることによって一連の結果が得られたことを知りたいです (識別子が必要なだけで、"git describe" の出力はここでうまくいきます)。
私の考えは、バイナリをコンパイルするときに何らかの方法でこの情報を含めることです。このようにして、これを結果とともに印刷することができます。
これをうまく行う方法についての提案。特に、git でこれを行う良い方法はありますか?
c++ - ビルドシステム(waf)によって生成されたエラー/ラインをAnjutaにハイライトさせるにはどうすればよいですか?
Wafは次のようなエラーを出力します
Anjutaの下部にエラーを表示させ、クリックしてエラーにジャンプできるようにするにはどうすればよいですか?
コンパイル時にビルドシステムを実行するようにAnjutaを構成するにはどうすればよいですか?
c++ - C++ビルドでWAFスローエラー
私たちのプロジェクトには多くのc++ソースが含まれており、これまではすべてを構築するためにmakeを歌っていましたが、これには時間がかかります。それで、私はwafに出くわしました。これは非常にうまく機能し、ビルドを大幅に高速化します。ただし、フルビルドを実行するたびに、意味のないビルドエラーがいくつか発生します。今すぐインクリメンタルビルドを実行すると、ほとんどの場合、最初にビルドできなかったソースの一部が今すぐビルドされますが、他のソースはまだ失敗します。別のインクリメンタルビルドでは、最終的にビルドが成功します。
依存ライブラリを並行してビルドしようとした場合に備えて、個別のライブラリを個別の手順でビルドしようとしましたが、それでもエラーが表示されます。
編集:私が繰り返し発生するエラーは、私のコードとは何の関係もないようです。
別の「wafビルド」の後、このエラーは発生しなくなりました。
EDIT2:私のライブラリのビルドステップは次のようになります:
MAIN、RW、HEADERSは、私たちが使用するフラグと外部ライブラリのほんの一部です。
誰かが自分のシステムで同様の動作を見たことがありますか?それとも解決策ですか?