Compilierfehler union/struct



  • Hallo

    Nun habe ich den selben Fehler wie damals, nur hatte ich die Meldung mit dem union nicht gemerkt.

    Hier ist die Fehlermeldung:

    }
    [/code]



  • Du zeigst nur eine (Header-)Datei mit 57 Zeilen.

    Der Fehler ist in Zeile 59 von dataBuffer.h
    Bzw. in Zeile 73 von dataBuffer.c



  • DirkB schrieb:

    Du zeigst nur eine (Header-)Datei mit 57 Zeilen.

    Der Fehler ist in Zeile 59 von dataBuffer.h
    Bzw. in Zeile 73 von dataBuffer.c

    Sorry ich hatte nachträglich die Kommentarzeilen weggelöscht. Dann stimmt es natürlich nicht mehr.

    Vorher alles direkt im main hat alles noch funktioniert.
    Jetzt habe ich alles ein wenig sauberer gemacht und es tut irgendwie nicht mehr.
    Es gibt noch Fehler im dataBuffer.c auch. Warum weiss ich nicht.



  • Wo ist denn uint8 definiert?



  • DirkB schrieb:

    Wo ist denn uint8 definiert?

    Hallo Drk Ich bin leider nicht mehr in der Firma. Deshalb kann ich nicht schauen. Aber uint8 muesste passen, denn es hat ja zuvor im main auch funktioniert. 😕 In der Schule hatte ich uint8_t gehabt, darum hat mich das auch schon verwundert. bei dataBuffer.c Zeile 63 habe ich ein Doppelsemicolon noch eben gesehen. Kann das det ganze Ausloeser sein? Ich hoffe es.



  • uint8_t ist eine Standarderweiterung (seit C99) und ist in stdint.h definiert.

    uint8 ist kein Standardtyp und ist beim PICC18 in GenericTypeDefs.h definiert. Soweit ich das richtig gegoogelt habe.



  • DirkB schrieb:

    uint8_t ist eine Standarderweiterung (seit C99) und ist in stdint.h definiert.

    uint8 ist kein Standardtyp und ist beim PICC18 in GenericTypeDefs.h definiert. Soweit ich das richtig gegoogelt habe.

    Ok, ich habe types.h nicht eingebunden, deshalb war uint8 nicht definiert.

    Jetzt sieht die Fehlermeldung folgend aus

    "C:\Program Files (x86)\HI-TECH Software\PICC-18\9.80\bin\picc18.exe" --pass1 ../src/dataBuffer.c  -q --chip=18F66K80 -P  --outdir="build/default/production\_ext\1360937237" -N127 --warn=0 --runtime=default,+clear,+init,-keep,-download,+stackwarn,-config,+clib,-plib --opt=default,+asm,-asmfile,-speed,+space,9 --cp=16 -Blarge --double=24  --mode=lite -g --asmlist "--errformat=%f:%l: error: %s" "--msgformat=%f:%l: advisory: %s" "--warnformat=%f:%l warning: %s"  
    ../src/dataBuffer.c:83: error: undefined identifier "RackStartVarAddressLb"
    ../src/dataBuffer.c:88 warning: illegal conversion between pointer types
    pointer to struct Buffer -> pointer to unsigned char
    ../src/dataBuffer.c:89 warning: illegal conversion between pointer types
    pointer to pointer to struct S7 -> pointer to const struct S7
    ../src/dataBuffer.c:91 warning: function declared implicit int
    make[2]: *** [build/default/production/_ext/1360937237/dataBuffer.p1] Error 1
    make[2]: *** Waiting for unfinished jobs....
    nbproject/Makefile-default.mk:250: recipe for target 'build/default/production/_ext/1360937237/dataBuffer.p1' failed
    ../src/serial.c:287 warning: variable "TX1IF" is deprecated (declared at C:\Program Files (x86)\HI-TECH Software\PICC-18\9.80\include\pic18f66k80.h:20613)
    ../src/serial.c:309 warning: variable "TX2IF" is deprecated (declared at C:\Program Files (x86)\HI-TECH Software\PICC-18\9.80\include\pic18f66k80.h:20621)
    ../src/commProtocol.c:278 warning: unused function definition "commProtoGenNAKPkg" (from line 133)
    ../src/commProtocol.c:278 warning: unused function definition "commProtoGetValue" (from line 259)
    make[2]: Leaving directory 'S:/855705_PG_Finaltest_TOF/855705_SW_PIC_TOF_Finaltest_TurnOnDevices/trunk/Template_18F66K80.X'
    nbproject/Makefile-default.mk:84: recipe for target '.build-conf' failed
    make[1]: Leaving directory 'S:/855705_PG_Finaltest_TOF/855705_SW_PIC_TOF_Finaltest_TurnOnDevices/trunk/Template_18F66K80.X'
    nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
    make[1]: *** [.build-conf] Error 2
    make: *** [.build-impl] Error 2
    
    BUILD FAILED (exit value 2, total time: 704ms)
    

    edit: hat sich erledigt, danke


  • Mod

    Was könnte das denn wohl bedeuten, 'undefined identifier "RackStartVarAddressLb"'? Gib doch mal eine Vermutung ab, was der Compiler dir damit sagen möchte und warum. Irgendetwas scheint wohl mit dem Namen RackStartVarAddressLb nicht in Ordnung zu sein. Was denkst du, wie man das wohl beheben könnte?

    Dito für 'illegal conversion between pointer types, pointer to struct Buffer -> pointer to unsigned char'. Was meint der Compiler wohl und warum? Irgendetwas mit Konvertierung von Zeiger auf struct Buffer in Zeiger auf unsigned char.



  • SeppJ schrieb:

    Was könnte das denn wohl bedeuten, 'undefined identifier "RackStartVarAddressLb"'? Gib doch mal eine Vermutung ab, was der Compiler dir damit sagen möchte und warum. Irgendetwas scheint wohl mit dem Namen RackStartVarAddressLb nicht in Ordnung zu sein.

    Dito für 'illegal conversion between pointer types, pointer to struct Buffer -> pointer to unsigned char'. Was meint der Compiler wohl und warum? Irgendetwas mit Konvertierung von Zeiger auf struct Buffer in Zeiger auf unsigned char.

    dass ich die Variable im struct falsch anspreche.


  • Mod

    buell schrieb:

    dass ich die Variable im struct falsch anspreche.

    Drück dich doch nicht immer so kurz und ungenau aus. Man weiß kaum, was du meinst. Ich interpretiere das mal so, dass du der Meinung bist, dass du hier irgendwo auf etwas in einem struct Buffer zugreifst. Was genau du dir vorstellst, kann man deinem Beitrag, wie gesagt, nicht entnehmen. Daher kann ich nur sagen, dass da überhaupt gar nicht auf ein struct Buffer zugegriffen wird. Bloß weil der Code in einer buffer.c zu einer buffer.h steht, bedeutet das nicht, dass da für den Compiler eine Verbindung besteht. Die musst du schon selber herstellen.

    Da du weiterhin auch noch den Code aus deinem Eingangsbeitrag entfernt hast, kann man dir nun noch viel besser helfen. Toll! Weiter so!



  • ähm, ich habe etwas bearbeitet und jetzt ist es leider weg, sorry.

    Ja ich werde mich bemühen, mich genauer auszudrücken. War ein wenig im Stress.


Log in to reply