Problema ao vincular bibliotecas no FFTW

0

Este erro acontece quando tento executar um Makefile:

/usr/bin/ld: cannot find -lrfftw_mpi
/usr/bin/ld: cannot find -lfftw_mpi
/usr/bin/ld: cannot find -lrfftw
collect2: error: ld returned 1 exit status

As bibliotecas .so correspondentes são colocadas em / usr / lib:

librfftw_mpi.so.2 (libc6,x86-64) => /usr/lib/librfftw_mpi.so.2
librfftw.so.2 (libc6,x86-64) => /usr/lib/librfftw.so.2

libfftw_mpi.so.2 (libc6,x86-64) => /usr/lib/libfftw_mpi.so.2

Eu tentei criar links simbólicos:

sudo ln -s /usr/lib/libfftw.so.2 /usr/bin/libfftw.so

mas não funcionou. Alguém pode me ajudar?

    
por cheshirecat 28.11.2015 / 17:01

1 resposta

0

Obrigado. Na verdade, meu problema foi resolvido (fiz a pergunta offline): - Para este código em particular, o FFTW de precisão dupla deve ser usado, então eu editei de volta essa linha Makefile para retorná-la ao seu estado original:

FFTW_LIB = $ (FFTW_LIBS) -ldrfftw_mpi -ldfftw_mpi -ldrfftw -ldfftw

FFTW de precisão única faz gerar um Makefile, mas não funciona. - Edite a linha FFTW_LIBS para que o caminho correto para o meu computador (/ home / van / fftw / lib /) esteja vinculado:

FFTW_LIBS = -L / home / van / fftw / lib /

  • Adicione essa linha ao arquivo .bashrc para que o executável esteja sempre vinculado a todas as suas dependências:

export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / home / van / fftw / lib

    
por cheshirecat 17.12.2015 / 06:03