Forum: Compiler & IDEs gcc compilerfehler - "___umodhi3"


von Alex (Gast)


Lesenswert?

unsigned char* ptr = (unsigned char*)(4);

fillBuffer(ptr, 0);


void fillBuffer(unsigned char* ptr, unsigned char offset)
{
  xyz...
}



beim compilieren bekomme ich vom gcc beim funktionsaufruf 
"fillBuffer(ptr, 0);" immer einen "undefined reference to `___umodhi3'" 
error


kennt jemand diesen compiler-error genau? - finde auch im netz 
brauchbares darüber .... für jeden tip dankbar

alex

von g457 (Gast)


Lesenswert?

-v plz, meine Glaskugel ist schon im Weihnachtsurlaub

Ich hab mal
1
unsigned char foo(unsigned char* ptr, int i)
2
{
3
  *ptr = (i & 0xFF);
4
  
5
  return 0;
6
}
7
8
int main()
9
{
10
  unsigned char* ptr = (unsigned char*)(4);
11
  foo(ptr, 0);
12
  return 0;
13
}
getestet mit
1
$ gcc --version | head -n 1
2
gcc (Debian 4.3.4-6) 4.3.4
3
$ gcc -Wall -pedantic -std=c99 -o test test.c
und das funktioniert einwandfrei. Ich hoffe ich habe keine Fehler 
ein^Wausgebaut beim Abtippen.

von Tilo (Gast)


Lesenswert?

Eventuell findet der compiler einige Libraries nicht. pack mal die 
libgcc.a mit ins Verzeichnis. Geht es dann?

von Thomas K. (tomk)


Lesenswert?

Hi,

"undefined reference" bekommst Du beim Linken. Er findet einfach die 
Adresse dieses Namens nicht. Grund: Library nicht gefunden. Installation 
Compiler ok? Oder irgendwelche Optionen angegeben, die die richtige Lib 
"überdecken".

Mehr läßt sich dazu wohl erst einmal nicht herausfinden.

cu, Thomas

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Thomas K. schrieb:

> Mehr läßt sich dazu wohl erst einmal nicht herausfinden.

Außer, dass der beanstandete Name zur libgcc.a gehört, die immer
automatisch mit gelinkt wird.  Irgendwas scheint also mit der
Installation im Argen zu liegen.

Wenn man auf der Kommandozeile zu den normalen Optionen ein -v
mit angibt, sagt der Compiler, was er alles macht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.