2010-02-23 3 views
3

나는 Windows에서 Strawberry Perl을 사용 중입니다. Buckwalter Encode 모듈에 대해 perl Makefile.pl을 실행하면 정상적으로 작동합니다. 내가 make를 실행하면Perl 모듈 Makefile에서 "컴파일 오류로 인해 -e가 중단되었습니다"라는 문제를 어떻게 해결할 수 있습니까?

Execution of -e aborted due to compilation errors

-e은 무엇인가 말한다? 어떤 파일을 수정하여 오류를 해결합니까? 분명히 1 행에 줄 바꿈 줄이 빠져 있지만, 줄 바꿈 줄이 빠져있는 파일을 알 수 없으므로 어디서 볼지 모르겠습니다.

+1

첫 번째 오류는 중요합니다. – Mark

+0

모든 오류 : 구문 오류 at -e 줄 1, 다음 문자) 누락 된 오른쪽 중괄호 또는 라인 끝 부분의 -e 라인 1에 대괄호가 붙습니다. 컴파일 오류로 인해 -e가 중단되었습니다. make : *** [pm_to_blib] Error 255 하지만 딸기 펄을 사용하고 있기 때문에 더 이상 문제가되지 않으므로 dmake를 사용해야합니다. 그래서 나는 그것을 사용했다. 나는 dmake를 실행했다. 그리고 나서 dmake test (RESULT = PASS를 얻는다.)를 실행했다. 하지만 마지막 명령 "dmake install"에서 "오류 : 감지 된 순환 매크로"PREFIX가 나타납니다. 그래도 오류가 있습니다. – asaaki

+0

답변을 편집하여 자세한 정보를 추가하십시오. :) –

답변

2

우리는 실행할 명령 행 코드를 지정하기 위해 펄의 -e 옵션을 사용합니다. perlrun에서 예를 들면 다음과 같습니다

  • -e commandline
    may be used to enter one line of program. If -e is given, Perl will not look for a filename in the argument list. Multiple -e commands may be given to build up a multi-line script. Make sure to use semicolons where you would in a normal program.

: 당신이보고있는 것과 유사한

$ perl -e 'print "Hello, world!\n"' 
Hello, world!

오류 것은

글쎄, 메이크업에서 CPAN에 dmake하는
$ perl -e 'while (1) { print "foo!"' 
Missing right curly or square bracket at -e line 1, at end of line 
syntax error at -e line 1, at EOF 
Execution of -e aborted due to compilation errors.
0

.. 나는 단지 CPAN 클라이언트를 사용하여 "test Encode :: Buckwalter"를 수행 한 다음 "Install Encode :: Buckwalter"를 실행하면 정상적으로 작동합니다! 왜 오류가 발생했는지 모르겠다. 아마도 플랫폼 문제 일 수 있습니다.

+0

Windows에서 Perl은'nmake' 또는'dmake'를 사용합니다. 당신은'make.exe '를 가지고 있을지도 모르겠다.하지만 Perl이 기대하는 것은 아닌지 의심 스럽다. 나는 당신이 Perl이 컴파일 된 make를 사용해야 만한다고 믿는다. 'perl -e "를 사용 해보고 Config를 사용하여 $ Config {make}"를 출력하여 원하는 make의 종류를 확인하십시오. – cjm

0

perl Makefile.PL을 실행하면 Makfefile이라는 파일을 만듭니다. 이 파일에는 실제 작업을 수행하는 testinstall과 같은 다양한 대상이 있습니다. 그 중 일부는 -e을 사용하여 Perl one-liners로 구현됩니다.

당신은 이미 make의 올바른 변형을 사용하여 문제를 이미 해결했습니다.

관련 문제