| << Vorheriges Thema anzeigen :: Nächstes Thema anzeigen >> |
| Autor |
Nachricht |
tuxalin Senior-User

Anmeldungsdatum: 09.09.2006 Beiträge: 147 Wohnort: Westerzgebirge
|
Verfasst am: 13.12.2007, 03:08:23 Titel: Problemchen beim Compilieren |
|
|
Hi,
ich habe hier zwei kleine C-Sourcen. Unter Linux war es kein Problem, diese zu compileren. Jetzt brauche ich das gleiche unter Windows.
Also habe ich mir gedacht, cygwin mit gcc installieren und gut ist.
Jetzt sagt mir der cygwin-gcc nach gcc -O2 -o setport.exe setport.c
| Code: | setport.c:(.text+0xc2): undefined reference to `_ioperm'
setport.c:(.text+0x11a): undefined reference to `_ioperm'
collect2: ld returned 1 exit status |
Paket ioperm in v0.4-1 ist installiert
Hat jemand ne Ahnung, wie ich das gebacken bekomme?
Die Beschreibung zum Code: Programmbeschreibung (weit nach unten scrollen)
Quelltext von setport.c und getport.c.
Achtung: Bei getport.c fehlt ein #include <stdlib.h> _________________ Tux |
|
| Nach oben |
|
 |
hank Top-User


Anmeldungsdatum: 10.03.2006 Beiträge: 876 Wohnort: Leipzig
|
|
| Nach oben |
|
 |
tuxalin Senior-User

Anmeldungsdatum: 09.09.2006 Beiträge: 147 Wohnort: Westerzgebirge
|
Verfasst am: 13.12.2007, 21:37:31 Titel: |
|
|
Danke für den Tip, aber irgendwas mache ich noch etwas falsch.
Die Sourcen gezogen, den 3Satz (configure, make, make install) ohne Fehler durchgelaufen.
Immer wieder bringt er obige Fehlermeldung.
Die Pfade in *.c absolut angegeben, Softlinks in den entsprechenden Verzeichnissen gesetzt (habe nach /usr/local/include/ installiert) - keine Chance.
Anmerkung: Ich wollte vorhin wenigstens mal die ioperm.exe testen. Die setzt aber cygwin voraus, was natürlich schlecht ist, da auf den Zielsystem es kein cygwin geben wird. _________________ Tux |
|
| Nach oben |
|
 |
hank Top-User


Anmeldungsdatum: 10.03.2006 Beiträge: 876 Wohnort: Leipzig
|
Verfasst am: 13.12.2007, 23:14:36 Titel: |
|
|
Hallo,
das ist ne Fehlermeldung vom Linker, nicht vom Compiler. In den C-Dateien ist alles richtig, Der Linker hat bloss kein Objekt, in dem _ioperm public ist. Du kannst auch versuchen statisch zu linken, also libioperm.a in der Kommandozeile anzugeben (gcc -o setport.exe setport.c libioperm.a)
Viele Grüße
Göran |
|
| Nach oben |
|
 |
tuxalin Senior-User

Anmeldungsdatum: 09.09.2006 Beiträge: 147 Wohnort: Westerzgebirge
|
Verfasst am: 13.12.2007, 23:34:59 Titel: |
|
|
Fein, jetzt läuft es durch.
Danke. _________________ Tux |
|
| Nach oben |
|
 |
|