2013-06-07 3 views
1

계속 here에서 계속 진행 중이며 Cygwin에서 GCC를 사용하여 64 비트 GSL을 작성하려고합니다.오류 : Cygwin에서 64 비트 GSL 빌드

  1. ./configure (CC=x86_64-w64-mingw32-gcc CFLAGS=-m64 ./configure)에 대한 호출이 잘 통과하지만, 폴더의 전체 부하 후 make install 결과에 대한 호출이 성공적으로

    ./.libs/libgslsiman.a에서 처리됩니다 수 읽지 않은 기호 : 아카이브에 색인이 없습니다. 하나

    collect2을 추가 ranlib가 실행 : LD가 반환 한 종료 상태

    메이크 : 326 : 대상`siman_tsp.exe '에 대한 조리법이 실패

    모든 제작했다 인한 전체 전화 SIMAN에 는 2합니다 '`/cygdrive/f/programming/c/libraries/gslCompiled/gsl-1.15/siman

    /빈/SH ../libtool --tag = CC --mode = 링크를 디렉토리를 입력 x86_64-w64-mingw32-gcc -m64 - o siman_tsp.exe siman_tsp.o libgslsiman.la ../rng/libgslrng.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../sys/libgslsys.la ../utils/libutils .la -lm

    libtool : 링크 : x86_64-w64-mingw32-gcc -m64 -o .libs/siman_tsp.exe siman_tsp.o./.libs/libs/libs/libgslrng. a ../ieee-utils/.libs/libs/libgslerr.a ../sys/.libs/libgslsys.a ../utils/.libs/libutils.a

  2. here 안내에 따라 libgslsiman.a 파일의 ./siman/.libs 디렉토리에서 ranlib을 실행하기로 결정했습니다. 작동하지 않았으므로 ar -t libgslsiman.a을 사용하여 직접 포장하려고했습니다.

그러나 이것은 동일한 오류를 발생시킵니다.

답변

1

수동으로 크로스 컴파일러를 사용했습니다. 그러나 나머지 빌드 툴체인은 여전히 ​​64 비트 MinGW 대신 32 비트 Cygwin 버전을 기본값으로 사용합니다.

CC=...을 설정하는 대신 --host x86_64-w64-mingw32에서 ./configure까지 전달하여 호스트 환경 (즉, 라이브러리를 사용할 위치)을 지정하십시오.

+0

좋습니다. 그래서 그것은 백그라운드에서 행복하게 컴파일됩니다. '--host'와'--build' 사이의 선택을 재고 해달라고 요청합니다. 이 구별에 대해 언급 해 주시겠습니까? – tchakravarty

+0

아, 왜 안돼. 나는 또 다른 멍청한 질문을 할 것이다. 일단'make install'을하면 lib 폴더는'.libs'이지만'include' 폴더는 어디에 있습니까? GSL 폴더에서 찾을 수있는 모든 헤더 파일을 포함하는 include라는 폴더를 만들어야합니까? – tchakravarty

+0

그래,'--prefix'로 다시 만듭니다. 당신의 도움을 주셔서 감사합니다. :) – tchakravarty

관련 문제