CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Help] Erreur de compilation avec GCC

N4k1m
N4k1m
Niveau 6
08 février 2010 à 22:12:38

:salut: à tous,

Je voulais compiler un programme codé en C, nommé primetest.c avec GCC, seulement je rencontre une erreur lors de la compilation... une erreur que je ne comprends pas (honte à moi :D^^)

L'erreur est la suivante :

primetest.c:(.text+0x6b): undefined reference to `sqrt'
collect2: ld returned 1 exit status

explications : j'ai utilisé la fonction sqrt pour définir une limite et j'ai bien importé la librairie <math.h> qui contient cette fonction

Merci d'avance
Nakim

chris_27
chris_27
Niveau 10
08 février 2010 à 22:19:51

J'hésite entre deux réponses :

1) et tu veux qu'on t'aide comment si tu ne nous donnes pas la ligne de commande que tu utilises pour compiler ? :question:

2) la solution est à portée de man :
$ man 3 sqrt
(la réponse est dans les dix premières lignes).

N4k1m
N4k1m
Niveau 6
08 février 2010 à 22:23:13

1) voici la ligne de commande :

gcc --std=c99 --pedantic -Wall -W -Wmissing-prototypes -o primetest primetest.c

2) j'ai testé avant de poser ma question, mais voilà ce que j'ai : No manual entry for sqrt in section 3

chris_27
chris_27
Niveau 10
08 février 2010 à 22:26:14

Tu es donc bon pour installer le paquet : manpages-dev.

C'est impossible de coder dans de bonnes conditions en C sans un accès au man. :-)

Au passage (godrik, si tu as une explication, je suis preneur) ça veut dire quoi "-W" tout seul ??? Les gens qui codent sous Windows me l'a font tous, mais je n'ai pas réussi à attacher le moindre sens à cette option "orpheline". :(

N4k1m
N4k1m
Niveau 6
08 février 2010 à 22:30:35

Merci ;), je vais regarder de suite

N4k1m
N4k1m
Niveau 6
08 février 2010 à 22:38:18

désolé du double post

Pour le -W je n'en sais rien du tout, cette ligne de commande nous a été donnée comme telle, sans vraiment d'explications correctes. Généralement, je code sur Windows avec Visual Studio 2008 et non sur Linux.

godrik
godrik
Niveau 30
08 février 2010 à 22:41:06

Dans les vieux gcc, -W activiat des warning de base.

chris_27
chris_27
Niveau 10
08 février 2010 à 22:41:48

En fait, j'espère surtout que godrik saura m'éclairer pour le "-W". :-)))

chris_27
chris_27
Niveau 10
08 février 2010 à 22:42:21

Et voilà qui est fait.

PS : mauvais timing. :honte:

Dark_Chouhartem
Dark_Chouhartem
Niveau 11
09 février 2010 à 07:48:58

Rajoute -lm pour que gcc se lie la lib math :)

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware