2011-03-23 3 views
2

필자의 perl 자바 스크립트 엔진에 spidermonkey를 사용해야합니다. 이를 위해서는 스레드 안전 라이브러리로 스파이더 맨 키를 제작해야합니다. 그래서 내가 처음 엔 NSPR을 구축하고 스파이더 맨 키를 만들 필요가 있음을 이해합니다. 내가 링크 https://developer.mozilla.org/en/NSPR_build_instructionsVisual C++없이 Windows에서 MinGw를 사용하는 모질라 NSPR

를 다음에서 이해되는

그래서, 먼저 모질라 빌드를 다운로드하여와 Mingw을 열었다. target.debug 디렉토리와 내가 할 일을 오전 때 등등 .....

, 나는 nsinstall이없는 것처럼

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 

보이는 오류 메시지가 다음 무엇입니까를 만드는 것처럼 언급 한 바와 같이 나는 지시를 따랐다.

저는 C/C++의 전문 프로그래머가 아니므로 도움을 찾고 계십니다.

Mingw를 사용하여 창에서 스파이더 맨 키를 성공적으로 구축해야합니다.

나는 다음 링크에서 언급 한 단계를 수행하려고 : http://jargon.ca/spidermonkey/

을하지만 난 js.exe를 실행하고 할 때, 그것은 libnspr4.dll을 파일 누락에 대해 불평.

그래서 Windows 운영 체제에서 nspr 및 spidermonkey를 어떻게 구축 할 수 있습니까?

+0

내 블로그 http://opensourcepack.blogspot.com/2012/01/spidermonkey-185-mingw.html의 지침을 따르려고 했습니까? –

답변

1

Windows에서 직접적인 방법은 없습니다. 두 가지 옵션이 있습니다. 어느 지침을 따르

  1. Compiming Mozilla with MinGW
  2. 또는 Windows pre-requisities 페이지에서 언급 한 사전 requisities을 만족 컴파일 시작합니다.

개인적으로 첫 번째 옵션을 시도하지는 않았지만 두 번째 옵션을 사용하려면 작업 할 Microsoft Visual Studio가 필요합니다. 그런 다음 다시 NSPR 4가 필요한 경우 Firefox 설치 디렉터에서 해당 파일을 가져 오지 않는 이유는 무엇입니까? DLL은 nspr4.dll, plc4.dll 및 plds4.dll과 같은 이름으로 추측됩니다.

+0

언급 한 것을 잊었습니다. nspr4를 컴파일하면 말할 필요가 있다고 생각합니다. ../configure 스크립트를 호출하는 동안 windows 플랫폼. Winnt가 아닌 Win95를 지정하면 libnspr4.dll이 생성됩니다. 자세한 정보는 도움말을 참조하십시오. js.exe가 작동하려면 nspr4.dll/libnspr4.dll이 js.exe와 같은 디렉토리에 있거나 % PATH %에 위치 할 수 있어야합니다. –

+0

내 Firefox 27.0.1 설치에 nspr4.dll이 없습니다. 그러나 nss3.dll이 포함되어 있습니다. '-lnspr4' 대신에'-lnss3'을 사용하면 잘 작동하는 것 같습니다. – Jarekczek

+0

썬더 버드 릴리스에는'nspr4.dll' 파일이 들어 있습니다. – Jarekczek

3

mozilla에서 nsinstall의 사본을 얻을 수 있습니다.

  • moztools-static.zip을 다운로드하고 압축을 풉니 다.
  • moztools-static/moztools/bin/nsinstall.exe를/mingw/bin에 복사하십시오.
0

당신은 다음과 같은 방법을 Cygwin에서 함께 nsinstall을 구축 할 수 있습니다 : 다음 (--enable-win32-target=WIN95로)와 Mingw 건물

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

거의 성공합니다. 나는 다음과 같은 일을 해결했다 :

(1) 홍보// 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) 홍보/포함/pratom을 포함한다.시간, 라인 (80)

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

하나는 테스트를 실행하고자하는 경우 검사가 외국, testfile 위를 연결 (3), 포인트 1 트릭도 적용되어야한다.

일부 테스트는 내 빌드를 사용하여 실패 : cvar, gethost를, op_2long, 부모, REINIT, selct_nm, 소켓, sockopt, writev는합니다. 나머지는 성공적입니다.

관련 문제