Pages : 1
#1 Le 26/12/2012, à 10:17
- AperiCube
Probleme de compilation code C.
Bonjours à tous.
Je développe en ce moment un moteur de mécanique des fluides. Il est écrit sous scilab.
(oui c'est pas bien, c'est interprété tous ça !!! mais c'est quand même vachement plus facile a écrire que du C quand on est débutant en programmation... ).
Bref, la ça commence à tourner et je me rends compte que c'est d'une lenteur... (oui oui je sais c'est le problème du langage interprété ) j'ai donc décidé de transformer mon code Scilab en code C (voir Scilab2C dans ATOM) pour accélérer tous ça et éventuellement Par4All pour le convertir en CUDA ou OpenMP. Mais je n'en suis pas encore la.
Bon la on se dit que le mec nous raconte sa life mais on voit toujours pas le problème, ne vous inquiétez pas ça arrive
Donc j'ai convertis un programme scilab en code C via Scilab2C mais quand je lance le make pour compiler le tous j'ai l'erreur suivante et je suis un peu perdu.
/usr/bin/ld: src/c/dfixs.o: référence au symbole non défini «floor@@GLIBC_2.2.5»
/usr/bin/ld: note: «floor@@GLIBC_2.2.5» est défini dans le DSO /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libm.so donc essayez de l'ajouter à la ligne de commande du lieur
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libm.so: could not read symbols: Opération invalide
collect2: erreur: ld a retourné 1 code d'état d'exécution
make: *** [compileexecute] Erreur 1
En gros je suis bloqué... Une idée ???
Joyeuses Fetes !
Hors ligne
#2 Le 26/12/2012, à 13:55
- Mindiell
Re : Probleme de compilation code C.
Bah, d'après ce qu'il dit, tu lies pas une lib qui est nécessaire. Celle-ci semble se nommer : libm.so et se trouve là : /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/
Il faut donc ajouter ce chemin pour le lieur. Tu utilises un make tout fait ou tu l'as fait toi-même ?
Hors ligne
#3 Le 26/12/2012, à 14:07
- AperiCube
Re : Probleme de compilation code C.
Merci pour la réponse.
Le makefile est généré par Scilab2c.
Qu'es qu'un lieur et comment ajoute t'on un chemin d’accès? (c'est une commande a rajouter dans un script ?) et comment peut on faire ça ?
Hors ligne
#4 Le 26/12/2012, à 14:32
- Mindiell
Re : Probleme de compilation code C.
Pour les "pourquoi", je te renvoie à wikipedia
Pour le comment, peux-tu afficher le contenu de ton makefile ?
Hors ligne
#5 Le 26/12/2012, à 14:47
- Haleth
Re : Probleme de compilation code C.
Pour le comment, peux-tu afficher le contenu de ton makefile ?
Si c'est un makefile généré à la autotools, c'est pas une bonne idée de lire ca
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#6 Le 26/12/2012, à 19:27
- Mindiell
Re : Probleme de compilation code C.
On verra bien, c'est Scilab2C qui le génère...
Hors ligne