問題タブ [gyp]
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.
google-chrome - この gyp 構文はどういう意味ですか?
最近、クロムコードを掘り下げていたところ、理解できないコードが見つかりました。ファイルは次の場所にありsrc/media/media.gyp
ます。誰かがこの行の意味を平易な英語で説明できますか?
私が理解していない行:
コード :
node.js - gyp による MS リファレンスの設定
gyp で何かをコンパイルする必要があります。私はいくつかの Windows API を利用しているので、vcxproj ファイルに次の行を追加する必要があります。
これらの行をgypで追加するにはどうすればよいですか?
chromium - gypのcflagsとldflagsの違いは何ですか?
クロムのgypおよびgypiファイルを調べています。cflags
との役割は何ldflags
ですか?
以下のコードはどういう意味ですか?
node.js - node webkit アプリケーションで node.js モジュール mdns を実行できません
Mac (Mavericks を使用) から Bonjour サービスを公開するために mdns モジュールを使用するノード Webkit アプリケーションがあります。サーバー コードを実行するとnode server.js
すべて正常に動作しますが、同じサーバー コードを使用するノード Webkit アプリケーションを実行すると、次のエラーが発生します。
mdns
x86 アーキテクチャ用にビルドされたモジュールをインストールするnpm
と、ノード Web キットが i386 用にビルドされているため、i386 用に必要になるようです (このスレッドを読んで、これについて知りました: http://forums.macrumors.com/showthread .php?t=879780 )。ターミナルでこれを実行することで確認できます。
別のモジュール (ノード プロキシ) のhttps://github.com/rogerwang/node-webkit/issues/296という解決策を示唆するこのリンクを見つけました。推奨される手順は次のとおりです。
しかし、ノードモジュールを手動で構築することに慣れていないため、指示に従っている間、どのフォルダーでそれらの手順を実行する必要があるかが明確ではありませんでした (内部のモジュールフォルダーにあると想定しましたnode_modules
: a) nw-gyp をインストールするときグローバルに使用する nw-gyp コマンドを取得できません (説明に -g オプションが含まれていないと思います) b) 代わりに使用するgyp configure --target=0.3.6
と、オプションがないというエラーが表示されますtarget
c) 構成ステップをスキップしようとしました (ちょうど試してみてください)、ビルドコマンドは次のように壊れます:
src ディレクトリを自動的に見つけることができませんでした。これは削除される一時的な Chromium 機能です。回避策として --depth を使用します。
しかし、 --depth を使用しようとすると (もちろん) 引数が必要で、そこに何を入れるかわかりませんでした。
では...ノードWebkitで使用するためにmdnsモジュールをどのように構築すればよいですか? (0.8.6 バージョンまたは 0.10.0 のいずれか、私は適応できます)。
npm - ccache を使用するために npm / gyp を取得できますか?
ccache
結果をキャッシュすることにより、以前にビルドした C バイナリのビルドを高速化する素晴らしい方法です。(もう 1 つの優れたツールはdistcc
、並列コンパイルのためにコードを他のマシンに渡す です!)
を使用して C ファイルをビルドするときにnpm
使用できますか?ccache
gyp
テストする方法は次のとおりです。
を使用できればccache
、2 回目の試行で大幅に高速化されるはずです。
ccache
が呼び出されているかどうかを確認するもう 1 つの方法は、ビルドの進行中に別のターミナルでこれを実行することです。
ccache
これにより、の統計のライブ更新が表示されます。
c++ - Node.js ネイティブ アドオンでの C++ DLL の使用
VS2005 の Release/Win32 でビルドされた C++ Win32 DLL があり、LoadLibrary を使用して C++ Node.js アドオンにロードしようとしていました。これは継続的に失敗していました。次に、VS2005 でビルド構成を手動で変更して x64 DLL を生成すると、正常に動作しました。アドオンの binding.gyp ファイルに構成を提供しなかったため、64 ビット Windows を使用しているため、おそらく npm によって x64 でビルドされました。
npm に常に Win32 でビルドしてもらいたい場合、アドオンにビルド構成を提供する方法 (binding.gyp で?)
Node.js アドオンのチュートリアルでは見つかりませんでした。
この質問は、次の未回答の質問に関連しているようです。
https://stackoverflow.com/questions/22526273/using-dll-in-c-addons/26012936#26012936
https://stackoverflow.com/questions/22836593/dll-not-being-loaded-within-a-node-js-c-addon
前もって感謝します!