2011-09-10 6 views
4

내 Windows 컴퓨터에 muParser를 설치하고 설치하는 동안 가장 이상한 문제가 있습니다. 설치 가이드에서 제안한대로 빌드 폴더로 이동하여 실행하십시오.MinGW make 명령에 이상한 문제가 있습니다 (muParser 사용)?

make -f makefile.mingw 

이 절차는 모두 훌륭하고 좋은 표준 절차 여야합니다. 그러나 나는 명령어의 결과를 이해할 수 없다 :

if not exist obj\gcc_static_rel mkdir obj\gcc_static_rel 
Microsoft Windows [Version 6.1.7600] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\Chase\Desktop\muparser_v2_0_0\muparser_v2_0_0\build> 

지금 ... 나는이 시점에서 정말로 혼란 스럽다. 왜냐하면 명령 프롬프트 창의 제목에 따라, 나는 여전히 make 명령 안에 있습니다. 그래서 "프롬프트"에 "exit"라고 입력합니다.

g++ -c -o obj\gcc_static_rel\muParser_lib_muParser.o -DNDEBUG -O2  -D_WIN32 -  I..\include -MTobj\gcc_static_rel\muParser_lib_muParser.o - MFobj\gcc_static_rel\muParser_lib_muParser.o.d -MD -MP ../src/muParser.cpp 
Microsoft Windows [Version 6.1.7600] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\Chase\Desktop\muparser_v2_0_0\muparser_v2_0_0\build> 

명령이 다음 기능을 "수행"하는 것으로 보입니다. "프롬프트"에서 exit를 계속 입력하면 명령이 완료 될 때까지 계속 스테핑을 계속하는 것처럼 보입니다. 그러나 완전히 종료 한 후에는 결과가 보이지 않으며 실제로 완료된 것이 없습니다.

또한 명령 프롬프트와 관련이 없습니다. 필자는 디렉토리로 cd하고 전화를 걸기 위해 python 스크립트를 작성해도 출력에 Windows 스타일의 명령 프롬프트가 표시됩니다 (Microsoft의 라인 등으로 완성 됨). 나는 프로세스가 파이썬으로 돌아갈 때까지 같은 방법으로 exit를 타이핑했다.

지금 나는 정신 나간 것 같지만 실제로 혼란 스럽습니다. 포럼에 질문하지 않으면 도움이되지 않으며 유일한 응답은 "Windows 빌드가 작동해야합니다."입니다.

아무도 무슨 일이 있는지 알고 있습니까 ???

답변

1

('make'또는 'gmake'에 태그를 추가하면 문제를 보는 눈의 수를 늘릴 수 있습니다.)

makefile.mingw를 보면 '-if not exist ..'와 같은 문구가 표시됩니다. 즉 .bat 파일 구문입니다.

나는 ./configure ; make을 실행했으며 언급 한 오류 메시지를 지났지 만 undefined reference to mu::ParserError:과 같은 오류 메시지가 표시되어 완전히 작동하도록 라이브러리가 누락되었습니다. 나는 그걸 맡겨야하고, 그것이 너를 돕기를 희망한다. 나는 make -f makefile.mingw을 사용하지 않았다는 것을 유의하십시오. configure을 사용한 후, make는 새로 생성 된 Makefile을 포착, 그리고 당신이 포럼을 말할 때하지 않으면 라이브러리 문제 ;-)이

(뜻 않았던와 Mingw 포럼? 주위 here 찾고 시도 제외 (일했습니다.을 검색 기능은 꽤 좋습니다.)

도움이되기를 바랍니다.

+0

나는 똑같은 일을했고 아직 정의되지 않은 참조로 문제를보고있다. 나는 무엇을 생각해야할지 모른다 ... – cemulate

+0

나를 위해 그것은 정의되지 않은 참조로 실패한 예제 프로그램이다. muParser는 이제 정확하다고 생각하지만 테스트하는 방법을 모르겠습니다. 그것은 지금 일하고 있을지도 모른다. 예제가 필요합니까? 답변 추가 편집을 참조하십시오. 행운을 빕니다. – shellter

+0

lib * .dll.a에 아무런 문제가 없습니다. 이것은 dll을 수반하는 임포트 라이브러리의 일반적인 명명 스키마입니다. – eriktous

3

muParser 패키지를 다운로드하여 빌드하려고했습니다. 네가 한 것과 똑같은 이상한 행동을했다. 그렇다면 MinGW-make가 아닌 MSYS-make가 설치되어 있다는 것을 깨달았습니다. 첫 번째는 MSYS 셸에서 사용하기위한 것이고 두 번째는 Windows cmd 셸에서 사용하기위한 것입니다.
불행히도, mingw32-make를 설치하고 사용하는 것은 다른 오류를주었습니다. 그러나 그 메시지는 this page으로 이어져 MSYS 디렉토리에서 sh.exe의 이름을 바꾸는 것이 좋습니다. 그런 다음에 mingw32-make -f makefile.mingw을 실행하면 라이브러리의 정적 버전을 성공적으로 빌드했습니다.

당신과 쉘터가 MSYS 셸에서 ./configure; make을 실행하는 데 사용하는 다른 방법으로도 나에게 예제를 빌드하지 못했습니다.이 경우 정적 버전 대신 라이브러리의 dll 버전을 빌드합니다. 아마도 이것이 예제가 만들어지지 않는 이유 일 것입니다.

+0

게시 된 지 5 년이 지난 후 감사합니다. sh.exe가 어딘가에 있었다. 빌드하기 전에 이름을 변경하면 문제가 해결됩니다. –

관련 문제