2010-04-25 5 views
3

FFTW 2.x는 .la 파일을 만듭니다 (fftw/.libs 디렉토리 아래에 있음)..la 파일에서 .so 파일을 얻는 방법은 무엇입니까?

내가 연결할 .so 파일이 필요하다고 생각합니다. (나는 gcc 초보자이기 때문에 확실하지 않다.)

+0

FFTW의 이전 버전을 사용하는 특별한 이유가 있습니까? –

+0

내 컴퓨터에서 빌드 할 수있는 3.x 버전을 얻을 수 없습니다. "tests"디렉토리의 어떤 것이 실패했다. 이제는 정확한 문제를 기억하지만 2.x는 훌륭하게 작성되었습니다. – Ries

답변

5

일반적으로 Linux에서는 .so 파일이 동적 라이브러리이고 .a 또는 .la는 정적으로 연결됩니다. 필요한 것은 응용 프로그램과 라이브러리 설치/빌드 방법에 따라 다릅니다. 정적 대 동적 연결에 대한 자습서는 this site.을 참조하십시오. 또한 소스에서 fftw를 빌드 했습니까? 아니면 패키지 관리자를 사용 했습니까? 이것은 귀하의 질문에 대한 답변을 도울 것입니다. gcc 사용에 관해서는 manual page을 확인하십시오.

그렇습니다. 짧은 대답은 .a를 사용하거나 fftw를 빌드 할 때 공유 라이브러리를 지정하도록 지정하는 것입니다. ./configure --enable-shared

+0

내가 소스 – Ries

+0

에서 만들었고, 내가 사용하는 다른 libs는 모두 .so이고 libpython2.4.so.0.0.0이있는 곳에서 -lpython2.4를 사용하여 링크됩니다. – Ries

+0

글쎄,이 경우, '정적'이 아닌 '공유'를 지정하는 데 필요한 라이브러리를 컴파일하십시오. unbuntu 또는 fedora와 같은 배포판을 사용하는 경우 패키지 관리자를 사용하고 -devel 패키지를 설치하십시오. ./configure를 호출 할 때 add --enable-shared를 빌드 할 때 fftw 매뉴얼에서. http://www.fftw.org/fftw3_doc/Installation-on-Unix.html#Installation-on-Unix – zdav