2017-05-23 3 views
0

M Cross Environment을 사용하는 Windows 용 Linux에서 응용 프로그램을 교차 빌드하려고합니다. 실제로는 Mingw-w64 도구를 사용하는 데 도움이되는 메이크 파일 시스템입니다. 응용 프로그램의 빌드 시스템은 autotools입니다. 나는 다음과 같은 내가 할 빌드 오류를하려고하면크로스 빌드 오류 : libtool : 행 1112 : lib : 명령을 찾을 수 없음

:

libtool: link: lib -OUT:.libs/liby12.lib y12mae.o y12maf.o y12mbe.o y12mbf.o y12mce.o y12mcf.o y12mde.o y12mdf.o y12mfe.o y12mge.o y12mhe.o 
../../libtool: line 1112: lib: command not found 
make[4]: *** [liby12.la] Error 127 
make[4]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_/libraries/liby12' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_/libraries' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_' 
make[1]: *** [build-only-mbdyn_i686-w64-mingw32.static] Error 2 
make[1]: Leaving directory `/opt/mxe' 

사람은 문제가 무엇인지 설명 할 수 있습니까?

다른 사람들도 윈도우에 기본적으로 빌드되어있는 것처럼 보이지만 this stackoverflow 질문에서 비슷한 문제가 있습니다. 메일 링리스트 here에 대한 토론도 있습니다. 이 소스 중 어느 것도 libtool에 대한 제한된 지식이있는 사람에게 문제를 해결할만한 충분한 정보를 제공하지 못합니다 (1112 행이 무엇을 의미하는지조차 알지 못합니다. 즉, libtool 자체의 정확히 1112 행입니까?) libtool의 주석 행입니다).

편집 : 나는 다음과 같은 스레드를 발견했다

: 같은 내가 크로스 컴파일하고 응용 프로그램 (mbdyn하지만, 이전 버전) Cygwin에서의 컴파일에 대해 실제로

http://cygwin.1069669.n5.nabble.com/libtool-link-object-name-conflicts-in-archive-td107913.html#a107969

. 소스 디렉토리에서 libtool 스크립트를 생성하도록 설정 한 것이 문제인 것 같습니다. 교차 컴파일러 libtool 스크립트 또는 이와 유사한 것으로이 충돌을 추측하고 있습니다.

그럼이 libtool 문제를 해결하는 올바른 방법은 무엇입니까?

답변

0

문제는 게시 된 링크에서 실제로 응답되었습니다. 문제는 AC_PROG_F77configure.ac의 조건문 외부에서 호출해야한다는 것입니다. 그렇지 않으면 libtool이 fortran 컴파일러가 지정되고 조건부가 트리거되지 않으므로 크로스 컴파일을 수행 할 때 혼동을 일으 킵니다.