Сборка Mozilla NSPR с использованием MinGw на Windows без VC ++ - PullRequest
2 голосов
/ 23 марта 2011

Мне нужно использовать spidermonkey для моего javascript-движка perl.Для этого мне нужно собрать spidermonkey с поточно-ориентированными библиотеками.Итак, насколько я понимаю, мне нужно сначала собрать NSPR, а затем spidermonkey.

Итак, как я понял из следующей ссылки https://developer.mozilla.org/en/NSPR_build_instructions

Сначала я скачал сборку mozilla и открыл 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.

Поэтому, пожалуйста, помогите мне, как я могу собрать nspr и spidermonkey в операционной системе Windows.

Ответы [ 3 ]

3 голосов
/ 05 апреля 2012

Вы можете получить копию nsinstall от mozilla.

  • Скачать moztools-static.zip и распаковать его.
  • скопировать moztools-static / moztools/bin/nsinstall.exe в /mingw/bin.
1 голос
/ 11 апреля 2011

В Windows нет прямого пути. У вас есть два варианта сделать это. Либо следуйте инструкциям на:

  1. Составление Mozilla с MinGW
  2. Или выполнить требования, указанные на Требования Windows и начать компиляцию.

Я лично не пробовал первый вариант, но для второго вам понадобится Microsoft Visual Studio для работы. Опять же, если вам нужен только NSPR 4, почему бы вам не извлечь эти файлы из директории установки Firefox? Я полагаю, что DLL-файлы называются как nspr4.dll, plc4.dll и plds4.dll.

0 голосов
/ 12 марта 2014

Вы можете построить nsinstall с помощью cygwin следующим образом:

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

Тогда сборка с помощью mingw (с --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 также следует применить к тестам attach, foreign, testfile.

Некоторые тесты не работают с моей сборкой: cvargethost, op_2long, parent, reinit, selct_nm, сокет, sockopt, writev.Остальное удачно.

...