gcc 5.2: falsche Benutzung des unvollständigen Typs.

(Firma: RUB) #4259981
Lesenswert?

Hallo Leute,

ich versuche gerade PySvn zum laufen zu bekommen,
Betriebssystem ist Arch Linux, Kernel 4.2, GCC 5.2

Projekt-Paket: https://aur.archlinux.org/packages/python-pysvn/
Original-Quelle: http://pysvn.stage.tigris.org/project_downloads.html

So wie es aussieht wurde PySvn ca. 2010 aufgegeben, dieses Jahr im April 
aber ins AUR aufgenommen. Das AUR-Pakete Probleme machen können weiß 
ich.

Ich hab den Output von Make mal als Datei angehangen.

Könnt ihr mir helfen und sagen was mir der Fehler
1
Fehler: falsche Benutzung des unvollständigen Typs »const svn_sort__item_t {aka const struct svn_sort__item_t}«
2
         pysvn_wc_status_t *status = (pysvn_wc_status_t *)item->value;
3
                                                              ^
4
Anmerkung: forward declaration of »svn_sort__item_t {aka struct svn_sort__item_t}«
5
 typedef struct svn_sort__item_t svn_sort__item_t;
sagen soll?
Der Fehler tritt auch noch mit anderen typen auf.
Hab so auf die schnelle nichts zu dem Fehler gefunden. :-/

Und einen alten Compiler nehmen, bei dem der Fehler nicht auftritt ist 
für mich keine Lösung ;)

Wäre für eure Hilfe dankbar.

Grüße
Angehängte Dateien:
Gast #4260018
Lesenswert?

> Könnt ihr mir helfen und sagen was mir der Fehler sagen soll?

..das was dort steht?

> [..] unvollständigen Typs const svn_sort__item_t
       ^^^^^^^^^^^^^^^
"ich weiss nicht was das ist"

> forward declaration of svn_sort__item_t
  ^^^^^^^^^^^^^^^^^^^
"der Typ wurde nie nicht definiert, tu was dagegen"

-> es fehlt die korrekte Typdefinition, vermutlich fehlt ein Header.

HTH
#4262463
Lesenswert?

Kaj G. schrieb:

> Könnt ihr mir helfen und sagen was mir der Fehler
> sagen soll?

Zu Deutsch soll die Fehlermeldung ausdrücken:

Ich hab, zum Teufel noch mal, nicht den blassesten Schimmer, wie ein 
svn_sort__item_t aufgebaut ist. Ich weiss zwar, dass es diesen Datentyp 
gibt, denn durch eine forward Declaration hat man mir die Information 
der Existenz gegeben. Aber hier an dieser Stelle muss ich den genauen 
Aufbau davon kennen, weil ich zb auf einen Strukturmember zugreifen soll 
und dazu muss ich wissen an welcher Stelle innerhalb der Struktur dieser 
Member liegt und wie gross er ist. Dazu hilft es mir aber nichts, wenn 
man mir sagt, dass es tatsächlich diese Struktur gibt - ich muss dazu 
den genauen Aufbau kennen und den hab ich nicht.

Im übrigen solltest du auch alle Warnungen beseitigen. Warnungen können 
harmlos sein, müssen es aber nicht zwangsläufig sein. Tatsache ist 
jedoch, dass man Gefahr läuft, die tatsächlich nicht harmlosen Warnungen 
im Wust aller Warnungen zu übersehen, wenn man nicht konsequent sich 
auch um Warnungen kümmert und sie eliminiert.
#4262471
Lesenswert?

Wenn man einen Pointer auf eine Klasse/Struktur deklarieren will, dann 
braucht man nur deren Name. Denn der Pointer ist ja nur eine Wert mit 
systemspezifisch fixer Bit-Anzahl.
Greift man über diesen Pointer dann uaer Komponenten zu, dann braucht 
der Compiler die ganze Definition der Klasse/Struktur. Genau das 
passiert bei "->" Operator.

Das war doch jetzt nich völlig abwegig, oder?

Mein Tip: Fehlermeldung in Google und irgendwas von Stackoverflow.com 
raussuchen, da stellt man fest, daß man nicht allein ist. (Sorry für die 
Schleichwerbung, aber genau so mache ich es)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren