Ciao a tutti, il problema che vi espongo è collegato anche alla programmazione, ma lo posto su questa sezione in quanto credo che sia più un problema di installazione.
Sto seguendo il corso di Calcolo Scientifico, che si basa sullo sviluppo di programmi C under linux che fanno uso delle librerie BLAS (x il calcolo matriciale e vettoriale). Nel laboratorio la libreria BLAS è già installata e configurata, ora vorrei poter testare i miei programmi anche sul mio pc, su cui ho installato Ubuntu.
Sul sito della prof. è descritta l'installazione passo passo (qua il link), l'ho seguita e tutto è andato a buon fine (ho anche installato il compilatore fortran), il problema è che non riesco a compilare un semplice programma.
Qua è mostrato il programma:
Codice PHP:
#include <stdio.h>
#include <stdlib.h>
extern void dcopy(int *,double *,int *, double *,int *);
main() {
int n,i,incx,incy;
double *dx,*dy;
incx=1;
incy=1;
printf("inserire la dimensione\n");
scanf("%d",&n);
dx=(double *)calloc(n,sizeof(double));
dy=(double *)calloc(n,sizeof(double));
for(i=0;i<n;i++)
dx[i]=i;
dcopy_(&n,dx,&incx,dy,&incy);
for(i=0;i<n;i++)
printf("%lf\n",dy[i]);
free(dx);
free(dy);
}
Questo programma fa la semplice copia di un vettore in un altro, utilizzando le librerie BLAS. Da quello che ho capito, per la compilazione dovrei fare:
ciccio@ciccio-desktop:~/calc$ gcc prova.c -L/home/ciccio/calc/BLAS/libblas.a
dove indico l'indirizzo assoluto della libreria creata (non so che estensione sia .a)
comunque la compilazione mi dà questo errore:
Codice PHP:
ciccio@ciccio-desktop:~/calc$ gcc prova.c -L/home/ciccio/calc/BLAS/libblas.a
/tmp/ccs1eSlv.o: In function `main':
prova.c: (.text+0xb0): undefined reference to `dcopy_'
collect2: ld returned 1 exit status
Non so come fare, forse sbaglio a compilare?