Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    49

    [c] errore con "round"

    ciao a tutti ,
    devo fare la divisione tra due immagini e arrotondo il risultato della divisione con la "round" ma quando compilo mi viene dato questo errore ( c'è da dire che se compilo con il compilatore dev c++ sotto windows non mi da errori mentre se compilo sotto linux si, ma a me serve sotto linux) :

    Tesi.c: In function ‘Divisione’:
    Tesi.c:200: warning: incompatible implicit declaration of built-in function ‘round’
    /tmp/ccMUMQWt.o: In function `Divisione':
    Tesi.c.text+0x8b9): undefined reference to `round'
    collect2: ld returned 1 exit status

    questo è il codice della funzione che usa round

    void Divisione (unsigned char *frame1,unsigned char *frame2,unsigned char *Divisione)
    {

    int i = 0;


    for (i; i<(640*480); i++)
    Divisione[i] = 50*(round(frame1[i] / frame2[i]));

    }

    qualcuno sa darmi una mano?
    grazie

  2. #2
    undefined reference to `round'
    Devi linkare la libreria math, aggiungi -lm al comando di compilazione
    “Guardo in alto mentre cammino, così le lacrime non scenderanno...”
    Kyu Sakamoto

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    49
    ho compilato digitando gcc -lm Tesi.c , ho messo anche #include <math.h> , come mi hai detto e adesso mi da solo questo warning

    Tesi.c: In function ‘Divisione’:
    Tesi.c:200: warning: incompatible implicit declaration of built-in function ‘round’

    l'errore successivo nn lo da più

    cosa posso fare per eliminare anche il warning?

  4. #4
    Forse è un problema sui tipi di variabile, poiché round si aspetta un parametro di tipo double.

    Prova così:
    codice:
    Divisione[i] = 50*(unsigned char)(round((double)frame1[i] / (double)frame2[i]));
    “Guardo in alto mentre cammino, così le lacrime non scenderanno...”
    Kyu Sakamoto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.