kompilieren: bibliotheksproblem?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

kompilieren: bibliotheksproblem?

Beitrag von AspeLin » 10.01.2004 16:31:37

ich habe versucht, slibo-0.4.4 (und die drei vorgängerversionen) zu kompilieren. dazu habe ich nacheinander gcc-2.95, gcc-3.2 und gcc-3.3 durchprobiert. libc6, libc6-dev und libc5-altdev liegen in der neusten für woody verfügbaren version vor.
leider habe ich noch :wink: keine erfahrung mit c-programmierung, aber ich glaube nicht, daß es sich um ein fehler im code von slibo handelt, es sind ja offizielle releases des autors ( http://slibo.sourceforge.net ).
die fehlermeldung des compilers ist:

Code: Alles auswählen

engine.cpp: In method `Engine::Engine(QWidget *, Game *, QString, QString = "")':
engine.cpp:74: implicit declaration of function `int getline(...)'
engine.cpp:100: `errno' undeclared (first use this function)
engine.cpp:100: (Each undeclared identifier is reported only once
engine.cpp:100: for each function it appears in.)
make[4]: *** [engine.o] Fehler 1
die entsprechenden zeilen in engine.cpp sind:
zeile 74 ff.:

Code: Alles auswählen

    if (getline(&path, &len, fp)>1) {
	fname = path;
	fname.setLength(fname.length()-1);
    }
zeile 100:

Code: Alles auswählen

        qDebug("Cant't start the chess engine %s. The Operating System returned error %s\n", fname.latin1(), strerror(errno));
vermutlich sind die angaben der zeilen aber nutzlos, da braucht man wohl den ganzen code. ich denke, vielleicht gibt es irgendwelche headers, in denen getline und errno deklariert sind?

gruß
david
Täuschung ist das Silikon der Postmoderne.

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 10.01.2004 16:40:02

Sind allerdings Standard Header, die solltest Du haben. Hat das configure denn nicht aufgeschrien?
man hat geschrieben: NAME
getline, getdelim - delimited string input

SYNOPSIS
#define _GNU_SOURCE
#include <stdio.h>
man hat geschrieben:
NAME
errno - number of last error

SYNOPSIS
#include <errno.h>
Ersteres sollte in libc-dev oder so frin sein, welche Du ja hast. Hmm, so richtig helfen kan ich Dir wohl leider auch nicht.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

Beitrag von AspeLin » 10.01.2004 18:31:47

Bert hat geschrieben: Sind allerdings Standard Header, die solltest Du haben. Hat das configure denn nicht aufgeschrien?
nein, configure hat nicht gemeckert. dazu kommt, daß ich die header files stdio.h und errno.h in /usr/include/ (und nicht nur da) habe, wo sie eingentlich auch sein sollten.
Bert hat geschrieben: Hmm, so richtig helfen kan ich Dir wohl leider auch nicht.
wenn das so ist, habe ich wahrscheinlich ein großes problem :lol:! ich werde mal noch etwas rumfummeln. jedenfalls ein guter grund, sich die dev-manpages zu laden. erstmal vielen dank!
Täuschung ist das Silikon der Postmoderne.

Antworten