2

perljavascriptエンジンにspidermonkeyを使用する必要があります。そのためには、スレッドセーフなライブラリを使用してスパイダーモンキーを構築する必要があります。ですから、私が理解しているように、最初にNSPRを構築し、次にスパイダーモンキーを構築する必要があります。

したがって、次のリンクから理解したように https://developer.mozilla.org/en/NSPR_build_instructions

私は最初にmozilla-buildをダウンロードし、mingwを開きました。target.debugディレクトリの作成など、前述の手順に従いました。

makeを実行すると、次のエラーメッセージが表示されます

make[3]: nsinstall: Command not found
make[3]: *** [export] Error 127
make[3]: Leaving directory `/c/target.debug/pr/include/md'
make[2]: *** [export] Error 2
make[2]: Leaving directory `/c/target.debug/pr/include'
make[1]: *** [export] Error 2
make[1]: Leaving directory `/c/target.debug/pr'
make: *** [export] Error 2

nsinstallが欠落しているようです。

私はC/C ++のプロのプログラマーではないので、あなたの助けを探しています。

Mingwを使用してウィンドウ上にスパイダーモンキーを正常に構築する必要があります。

次のリンクに記載されている手順を実行しようとしました:http: //jargon.ca/spidermonkey/

しかし、js.exeを実行していると、libnspr4.dllファイルが見つからないと文句を言います。

では、Windowsオペレーティングシステムでnsprとspidermonkeyをビルドする方法を教えてください。

4

3 に答える 3

3

nsinstallのコピーはmozillaから入手できます。

  • moztools-static.zipをダウンロードして解凍します。
  • moztools-static / moztools / bin/nsinstall.exeを/mingw/binにコピーします。
于 2012-04-05T17:28:30.450 に答える
1

Windowsには簡単な方法はありません。それを行うには2つのオプションがあります。次の手順に従ってください。

  1. MozillaとMinGWの比較
  2. または、 Windowsの前提条件ページに記載されている前提条件を満たし、コンパイルを開始します。

私は個人的に最初のオプションを試していませんが、2番目のオプションを使用するにはMicrosoftVisualStudioが必要です。繰り返しになりますが、NSPR 4だけが必要な場合は、Firefoxインストールディレクトリからそれらのファイルを取り出してみませんか?DLLの名前はnspr4.dll、plc4.dll、plds4.dllのようだと思います。

于 2011-04-11T05:17:59.277 に答える
0

nsinstallcygwinを使用して次の方法でビルドできます。

mkdir cygwinbuild
../configure --host=i386-pc-linux-gnu
cd config
make nsinstall

次に、mingw(with --enable-win32-target=WIN95)を使用したビルドはほぼ成功します。私は次のことを修正しなければなりませんでした:

(1)pr / include / md / _win95.h

// these should be defined in winbase.h, but in my mingw
// they are not
#ifndef STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
  #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
#endif
#ifndef CRITICAL_SECTION_NO_DEBUG_INFO
  #define CRITICAL_SECTION_NO_DEBUG_INFO  0x01000000
#endif

(2)pr / include / pratom.h、80行目

// my mingw cannot link InterlockedIncrement, probably there's a better
// option than turning this off
#if 0 && defined(_WIN32) && !defined(_WIN32_WCE) && \

(3)テストを実行したい場合は、ポイント1のトリックを、テストの添付、外部、テストファイルにも適用する必要があります。

一部のテストは私のビルドを使用して失敗します:cvar、gethost、op_2long、parent、reinit、selct_nm、socket、sockopt、writev。残りは成功しています。

于 2014-03-12T09:22:24.287 に答える