Compiler avec la libraire gsl
Bonjour
Je suis allé sur plusieurs sites pour voir comment compiler avec la libraire gsl mais ça ne me donne rien au final...
Voici mon code.
Je vous remercie
Je suis allé sur plusieurs sites pour voir comment compiler avec la libraire gsl mais ça ne me donne rien au final...
Voici mon code.
#include "focuss.h" int main() { int N,n; // double t1,t2,t3; printf("donné la valeur de N = "); scanf("%d",&N); printf("donné la valeur de n = "); scanf("%d",&n); int i,j; gsl_vector_complex* x; gsl_vector_complex* x_init; gsl_vector_complex* x0; gsl_vector_complex* b; gsl_matrix_complex* C; char* fichier; // t1 = second_(); x_init=gsl_vector_complex_calloc(2*N); b=gsl_vector_complex_calloc(N); x0=gsl_vector_complex_calloc(2*N); x=gsl_vector_complex_alloc(2*N); C=gsl_matrix_complex_alloc(N,2*N); generate_dirac_fourier_matrix( N,C); generate_sparse_input(n,N,x0,b); generate_x_init(N,x_init); focuss(N,C,b,x); enregistre_vector_complex(x,x0,b,x_init,fichier); for (i = 0; i <2*N; i++) { printf ("x(%d)=%.3g+%.3gi\n",i, gsl_vector_complex_get(x, i)); } gsl_vector_complex_free(x); gsl_vector_complex_free(x0); gsl_vector_complex_free(b); gsl_matrix_complex_free(C); // t2 = second_(); // t3 =t2-t1; // printf("Execution time: %f\n",t3); }le fichier focuss.h
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <gsl/gsl_matrix.h> #include <gsl/gsl_blas.h> #include <gsl/gsl_math.h> #include <gsl/gsl_complex_math.h> #include <gsl/gsl_complex.h> #include <gsl/gsl_linalg.h> #include <gsl/gsl_mode.h> #include <gsl/gsl_permutation.h> #include <gsl/gsl_vector_complex.h> #include <gsl/gsl_vector_complex_double.h> #include <gsl/gsl_block_complex_double.h> #include <gsl/gsl_errno.h> #include <gsl/gsl_rng.h> #include <gsl/gsl_randist.h> #define Pi 3.1415926535897932384626433832795029le fichier makefile :
**************************************************************************** # # MAKEFILE for focuss # #**************************************************************************** NAME = focuss CFLAGS = -I./include -g CC = gcc $(CFLAGS) LIBPATH = $(HOME)/libs OBJPATH = ./obj SRCPATH = ./src #BINPATH = $(HOME)/bin BINPATH = . LIBS = -lgsl -lgslcblas SRC = main.c \ $(SRCPATH)/focuss_I.c \ $(SRCPATH)/generate_dirac_fourier_matrix.c \ $(SRCPATH)/generate_fourier_matrix.c \ $(SRCPATH)/concatenate_matrices.c \ $(SRCPATH)/generate_sparse_input.c \ $(SRCPATH)/focuss.c \ $(SRCPATH)/generate_x_init.c \ $(SRCPATH)/enregistre_vector_complex.c OBJ = main.o \ $(OBJPATH)/focuss_I.o \ $(OBJPATH)/generate_dirac_fourier_matrix.o \ $(OBJPATH)/generate_fourier_matrix.o \ $(OBJPATH)/concatenate_matrices.o \ $(OBJPATH)/generate_sparse_input.o \ $(OBJPATH)/focuss.o \ $(OBJPATH)/generate_x_init.o \ $(OBJPATH)/enregistre_vector_complex.o # #================================================ # # all: $(NAME) $(NAME): $(OBJ) $(CC) $(CFLAGS) -o $(BINPATH)/$(NAME) $(OBJ) $(LIBS) -lm clean: rm -f $(OBJPATH)/*.o $(OBJPATH)/focuss_I.o: $(SRCPATH)/focuss_I.c $(CC) -c -o $(OBJPATH)/focuss_I.o $(SRCPATH)/focuss_I.c $(OBJPATH)/generate_fourier_matrix.o: $(SRCPATH)/generate_fourier_matrix.c $(CC) -c -o $(OBJPATH)/generate_fourier_matrix.o $(SRCPATH)/generate_fourier_matrix.c $(OBJPATH)/generate_dirac_fourier_matrix.o: $(SRCPATH)/generate_dirac_fourier_matrix.c $(CC) -c -o $(OBJPATH)/generate_dirac_fourier_matrix.o $(SRCPATH)/generate_dirac_fourier_matrix.c $(OBJPATH)/concatenate_matrices.o: $(SRCPATH)/concatenate_matrices.c $(CC) -c -o $(OBJPATH)/concatenate_matrices.o $(SRCPATH)/concatenate_matrices.c $(OBJPATH)/generate_sparse_input.o: $(SRCPATH)/generate_sparse_input.c $(CC) -c -o $(OBJPATH)/generate_sparse_input.o $(SRCPATH)/generate_sparse_input.c $(OBJPATH)/focuss.o: $(SRCPATH)/focuss.c $(CC) -c -o $(OBJPATH)/focuss.o $(SRCPATH)/focuss.c $(OBJPATH)/generate_x_init.o: $(SRCPATH)/generate_x_init.c $(CC) -c -o $(OBJPATH)/generate_x_init.o $(SRCPATH)/generate_x_init.c $(OBJPATH)/enregistre_vector_complex.o: $(SRCPATH)/enregistre_vector_complex.c $(CC) -c -o $(OBJPATH)/enregistre_vector_complex.o $(SRCPATH)/enregistre_vector_complex.cEnsuite, je compile en faisant la commande suivante.
gcc -Wall -I/usr/local/include -c main.cCeci me créé un fichier main.o et si je fais ./main.o, ca ne me donne rien.
Je vous remercie
Réponses
-
Essaie de remplacer '-c' par '-o main'.
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 165.6K Toutes les catégories
- 65 Collège/Lycée
- 22.2K Algèbre
- 37.7K Analyse
- 6.3K Arithmétique
- 61 Catégories et structures
- 1.1K Combinatoire et Graphes
- 13 Sciences des données
- 5.1K Concours et Examens
- 23 CultureMath
- 51 Enseignement à distance
- 2.9K Fondements et Logique
- 10.8K Géométrie
- 86 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 79 Informatique théorique
- 3.9K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 26 Mathématiques et finance
- 344 Mathématiques et Physique
- 5K Mathématiques et Société
- 3.4K Pédagogie, enseignement, orientation
- 10.1K Probabilités, théorie de la mesure
- 805 Shtam
- 4.2K Statistiques
- 3.8K Topologie
- 1.4K Vie du Forum et de ses membres