Parece que você não instalou o libgsl em seu sistema, já que o caminho /home/peter/gsl
não é um caminho onde o Ubuntu instala binários. Eu só posso supor que você tenha baixado apenas fontes de libgls do servidor GNU e as tenha descompactado para /home/peter/gsl
. Isto não é canônico. Você não precisa baixar o libgsl manualmente, porque o Ubuntu já oferece milhares de bibliotecas e ferramentas em pacotes a partir de seus próprios repositórios online. Para gerenciar pacotes (baixar, instalar e remover), você deve usar a ferramenta apt-get
.
UPD: Conforme sugerido nos comentários, você está tentando compilar seu aplicativo para ser executado na plataforma ARM. Isso requer alguns passos adicionais. Eu suponho que o Linux distro instalado em seu dispositivo ARM é de 32 bits e está usando ABI armhf / hard-float ( btw, o Ubuntu oficial não fornece binários soft-float ).
Adicione novas arquiteturas e repositórios online ao seu Ubuntu:
REL=$(lsb_release -sc)
sudo dpkg --add-architecture armhf
sudo add-apt-repository "deb [arch=armhf] http://ports.ubuntu.com/ ${REL} main universe multiverse restricted"
sudo add-apt-repository "deb [arch=armhf] http://ports.ubuntu.com/ ${REL}-updates main universe multiverse restricted"
sudo add-apt-repository "deb [arch=armhf] http://ports.ubuntu.com/ ${REL}-security main universe multiverse restricted"
sudo add-apt-repository "deb [arch=armhf] http://ports.ubuntu.com/ ${REL}-restricted main universe multiverse restricted"
sudo add-apt-repository "deb [arch=armhf] http://ports.ubuntu.com/ ${REL}-backports main universe multiverse restricted"
sudo apt-get update
Agora você pode instalar ferramentas para compilação cruzada e versão ARM da libgsl:
sudo apt-get install crossbuild-essential-armhf libgsl0-dev:armhf
Você pode tentar compilar seu aplicativo:
arm-linux-gnueabihf-gcc -o fft_test fft_test.c -lgsl -lgslcblas -lm
Note que não há nenhum parâmetro -L
ou -I
, já que todos os arquivos libgsl foram instalados em locais acessíveis pelo compilador.