Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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... smile ).

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é smile ) 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 smile

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 ??? smile

Joyeuses Fetes ! smile

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 lol


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... wink

Hors ligne