2011-07-07 3 views
0

windows 64를 타겟으로하는 Windows 시스템에서 크로스 컴파일러 (x86-> 64)를 만들려고 노력하고 있습니다. 그러나 현재 내 소프트웨어는 오픈 소스 종속성을 가진 오픈 소스 라이브러리를 사용합니다 컴파일 할 수있는 사전 빌드 된 바이너리가 없습니다. 즉, 64 비트 버전을 원한다면 컴파일해야합니다.내 (x86-> 64) windows 컴파일러가 컴파일되지 않는 이유는 무엇입니까?

MSYS와 mingw를 설치했으며, mingw-w64를 추가하여 최종적으로 소프트웨어를 사용하기 위해 64 비트 형식의 라이브러리를 컴파일 할 수도 있습니다. 나는 정확히 using these instructions 수있는 단계를 따르고 그 페이지에 나와있는 순서대로, 나는 현재 "GCC 코어 크로스 - 컴파일러 ()"를 만들었지 만, 컴파일하려고 할 때 라인과 :

$ ../gcc-4.6.1/configure --target = 모든 & &가 -j 6 모든 GCC & & 메이크업을 = --enable-목표 x86_64에-W64-mingw32 - j 6 install-gcc

나는 output pasted here이 있습니다. 나는 물론 이전에 실행 된 명령을 잘라내 었으며 마지막 명령은 모든 오류가 표시되기 전에 마지막으로 나열된 명령임을 유의해야합니다. 또한 '-j 6'인수로 인해 모든 오류가 발생했는지는 알 수 없지만 그 전에는 모두 이 성공한 것으로 보입니다.이 성공했습니다.

무엇이 문제이며 어떻게 해결할 수 있습니까?

오, 잠재적 인 제안을 기대합니다. Cygwin으로 전환 할 수는 없습니다.

편집 : 개별적으로 here's the output of the configure command, the output produced by make all-gcc (no -j argument)config.log 그들을 실행 한 후 좋아요. 참고, 나는 make clean 사전에 다른 결말을 설명 할 수 있습니다 실행하지 않았다, 나는이 업데이 트를 작성하는 시간에 관심이 없어,하지만 난 그냥 다른 컴파일 폴더를 만들고 다시 실행 가정합니다 응답을 기다리는 동안 이전처럼 똑같은 오류가 보이길 바랍니다.

편집 2 다음 make all-gcc 다시 예상대로,이 시간 the output 내가 희망보다 조금 도움이 실패했습니다.

도움 주셔서 대단히 감사드립니다.

+0

오류가 발생하면 -j 옵션없이 make를 다시 실행하여 정확하게 어떤 명령을 생성하는지 확인하십시오. 오류를 살펴보면 어셈블러가 인식 할 수없는 명령어를 barfing하는 것처럼 보이므로 툴체인이 x64 코드를 내보낼 준비가되지 않았을 수 있습니다. – eriktous

+0

내가 제안한대로 컴파일 프로세스를 시작했습니다. 당신이 말하는 것은 일리가 있습니다.하지만이 단계의 전체 목적은 정확히 그렇게 할 수있는 컴파일러를 컴파일하는 것입니다. – Geoff

답변

0

귀하의 config.log은 빌드 프로세스가 x86_64-w64-mingw32/bin의 바이너리를 ar과 같은 것들을 위해 사용함을 보여줍니다. 이것은 내부 컴파일러 사용만을위한 것이며 사용자/mingw/bin 디렉토리. mingw-w64-public 메일 링리스트에 도움을 요청하는 것이 좋습니다.

+0

무엇을해야할지 모르겠습니다. 당신이 말한 첫 번째 것을 확인하십시오. 그러나 나는 메일 링리스트에 등록하고 이메일을 보냈습니다. 귀하의 제안에 감사드립니다! – Geoff