제 목표는 단지 1 차원 예제에서 FFTW를 테스트하는 것입니다. 지침에 따라 이미 모든 것을 설치했습니다. 터미널 오류주고있다Fortran 예제를 컴파일 할 때 -lfftw를 찾을 수 없습니다.
gfortran fftg.f90 -L/usr/local/lib -lfftw3
: 내가 컴파일 할 때 내 계산에 설치되어 있기 때문에
/usr/bin/ld : can't find -lfftw3
나는 이유를 이해하지 않습니다와 나는 그것을 위해 찾고 있어요 때 FFTW 라이브러리는 여기에 있습니다
/usr/local/lib$ ls
cmake libfftw3.a libfftw3.la pkgconfig python2.7 python3.4 R site_ruby
나는 어떤 답변도 찾지 못했습니다. 어디서 오류가 발생 했습니까? 자세한 내용은이 (http://homepage.ntu.edu.tw/~wttsai/fortran에서 가져온) 내 코드는
program example
implicit none
include 'fftw3.f90'
integer, parameter :: N=16
integer*8 :: PLAN_FOR,PLAN_BAC
real*8,dimension(N) :: IN,OUT,IN2
real*8 :: xj
integer :: j,k,mode
real*8, parameter ::twopi=2.*acos(-1.)
!Discrete data of function f(x)=cos(x)+0.2*sin(2x)
do j=0,N-1
xj=twopi*real(j)/real(N)
IN(j)=cos(xj) +0.2*sin(2.*xj)
end do
write(*,*) "Original data"
do j=1,N
write(*,100) j,IN(j)
end do
100 format(i4,f12.5)
! Forward transform
call dfftw_plan_r2r_1d(PLAN_FOR,N,IN,OUT,FFTW_R2HC,FFTW_ESTIMATE)
call dfftw_execute_r2r(PLAN_FOR,IN,OUT)
OUT=OUT/real(N,KIND=8)
! Normalize
write(*,*) "Fourier coefficient after forward FFT"
do k=1,N
mode=k-1
if(k > N/2+1) mode=N-k+1
write(*,100) mode,OUT(k)
end do
call dfftw_destroy_plan(PLAN_FOR)
end program example
'-lfftw3'라고하지만 오류는'-lfftw'입니다. 그럼 어느 것이 옳은가요? 모든 것을 정확하고 정확하게 복사하십시오. 복사하여 붙여 넣기를 사용하십시오. 어떻게 경로를 설정 했습니까? '$ LIBRARY_PATH'를 사용합니까? '$ LD_LIBRARY_PATH'를 사용합니까? 라이브러리를 어떻게 설치 했습니까? 수동으로 해 봤어? –
예, 죄송합니다. 올바른 '-lfftw3'입니다. fftw에서 제공하는 쉬운 지침에 따라 모든 것을 설치했습니다. (그냥 'configure', 'make', 'make install') –