ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > OS4 Progamm mit vbcc | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- 3 4 | [ - Beitrag schreiben - ] |
17.12.2007, 16:06 Uhr TetiSoft Posts: 197 Nutzer |
Zitat: Das zweite Assign ersetzt das erste. Documentation/C/Assign.doc [ - Antworten - Zitieren - Direktlink - ] |
17.12.2007, 17:03 Uhr MaikG Posts: 5172 Nutzer |
>Das zweite Assign ersetzt das erste. Richtig, wann hab ich dann das add gekillt? Trotzdem gibts ein fehler: #error Include <proto/> header files, not <clib/> header files in OS4. error 292 in line 39 of "clib/exec_protos.h": #error Include <proto/> header files, not <clib/> header files in OS4. [ Dieser Beitrag wurde von MaikG am 17.12.2007 um 17:15 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
17.12.2007, 22:53 Uhr thomas Posts: 7718 Nutzer |
Er hat vollkommen recht. Tu einfach, was er sagt. Gilt übrigens nicht nur für OS4. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
17.12.2007, 23:32 Uhr MaikG Posts: 5172 Nutzer |
>Er hat vollkommen recht. Tu einfach, was er sagt. Gilt übrigens >nicht nur für OS4. Ich verstehe aber nicht was der Compiler von mir will. Wenn SASC was erzählt ist dies halbwegs einleuchtend, vbcc kapiere ich nicht. Da, hab proto verwendet, hab heute gelesen das ist am Kompatibelsten und geht mit vbcc+gcc stand in irgendeiner SDK - PDF Datei. #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/diskfont.h> //#include <cybergraphx/cybergraphics.h> #include <stdio.h> [ Dieser Beitrag wurde von MaikG am 17.12.2007 um 23:35 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 00:00 Uhr _PAB_ Posts: 3016 Nutzer |
@MaikG: > wenns das nicht in viel kleiner gibt, ist es mir den Spass nicht wert. Hast Du nicht irgendwo eine GoldED- oder CubicIDE-CD rumliegen ? Ich meine, da war das OS4-SDK mit drauf (aber wahrscheinlich nicht das aktuellste?). [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 00:02 Uhr MaikG Posts: 5172 Nutzer |
>Hast Du nicht irgendwo eine GoldED- oder CubicIDE-CD rumliegen ? >Ich meine, da war das OS4-SDK mit drauf (aber wahrscheinlich nicht das aktuellste?). Ich habs doch jetzt schon runtergeladen. Nur geht trotzdem nix. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 06:52 Uhr TetiSoft Posts: 197 Nutzer |
Zitat:Der Compiler will gar nichts von Dir. Ich will was von Dir, und damit Du es auf jeden Fall liest hab ich den Includes gesagt sie sollen dem Compiler sagen er soll Dir sagen Du sollst keine clib-Includes mehr einbinden, schon gar nicht unter OS4... Zitat:Die Meldung ist wie gesagt nicht vom Compiler. Zitat:Yep, geht auch mit SAS/C und gcc/68k und wahrscheinlich mit noch mehr. Zitat:Habe das SDK grad nicht da, tippe mal auf die CGFX-Includes, die könnten entweder nicht mitgeliefert worden sein oder vielleicht durften sie auch nicht in veränderter Form verteilt werden. Wenn vbcc eine Option hat um nur den Preprozessor aufzurufen (-E bei gcc) kannst Du im Output nach clib/exec_protos.h suchen, oder such gleich in proto/cybergraphics.h und ändere es ggf ab, oder schreib sowas wie "#define CLIB_EXEC_PROTOS_H 1" in den Quellcode, oder stell um auf P96-API statt CGFX. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 10:35 Uhr MaikG Posts: 5172 Nutzer |
>Der Compiler will gar nichts von Dir. >Ich will was von Dir, und damit Du es auf jeden Fall >liest hab ich den Includes gesagt sie sollen dem Compiler >sagen er soll Dir sagen Du sollst keine clib-Includes >mehr einbinden, schon gar nicht unter OS4... Hab ich doch gar nicht. //#include <cybergraphx/cybergraphics.h> >Habe das SDK grad nicht da, tippe mal auf die CGFX-Includes, >die könnten entweder nicht mitgeliefert worden sein oder vielleicht >durften sie auch nicht in veränderter Form verteilt werden. CGX ist dabei, nur das mit // ist nicht da. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 11:15 Uhr Solar Posts: 3680 Nutzer |
Zitat: Doch, hast Du. Zitat: "clib/exec_protos.h" wird eingebunden, und erzeugt den beobachteten Fehler in Zeile 39. Wie Du herausfindest, wer wo versucht, diesen Include zu machen, hat man Dir schon gesagt (-E). [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 11:30 Uhr MaikG Posts: 5172 Nutzer |
Scheint mit cgx nichts zu tun zu haben: #include <proto/dos.h> #include <proto/exec.h> #include <proto/timer.h> #include <devices/timer.h> #include <stdint.h> #include <math.h> das Programm machts auch. -E bringt keine andere ausgabe als ohne. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 12:46 Uhr Solar Posts: 3680 Nutzer |
Zitat: Sag mal, wirfst Du zwischen "Lesen" und "Schreiben" auch mal die Unterfunktion "Denken" an? [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 13:21 Uhr MaikG Posts: 5172 Nutzer |
>Sag mal, wirfst Du zwischen "Lesen" und "Schreiben" auch mal die Unterfunktion "Denken" an? Es ist doch bekannt das ich selten in C-Programmiere oder? Ich hab alles gemacht, was ich verstanden habe was ich tun soll. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 13:38 Uhr Solar Posts: 3680 Nutzer |
Ja, das mit dem Verstehen ist so ein Problem manchmal. Was macht denn "-E"? Gibt es rein zufällig .i-Dateien im Arbeitsverzeichnis, die vorher nicht da waren? (Ich habe nie mit vbcc gearbeitet, aber keine Minute gebraucht um das Handbuch und darin die passende Stelle zu finden...) [ Dieser Beitrag wurde von Solar am 18.12.2007 um 13:38 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 13:39 Uhr TetiSoft Posts: 197 Nutzer |
@MaikG: Zu vbcc muß es ja auch eine Anletung geben, ich vermute -E generiert statt Object-code C-Code (also das was der Preprozessor davon übrig läßt). In dem sollte sich hoffentlich finden lassen wo die clib-Datei eingebunden wurde. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 13:50 Uhr MaikG Posts: 5172 Nutzer |
ja, in der .i datei steht: #line 63 "exec/types.h" typedef void * APTR ; [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 13:54 Uhr Solar Posts: 3680 Nutzer |
Ich werd' weich, ehrlich. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 15:48 Uhr MaikG Posts: 5172 Nutzer |
>Ich werd' weich, ehrlich. Tja, wenn du es nicht erklären willst/kannst musst du das auch nicht tun. Zwingt dich ja keiner. Ich hab vbcc für 68k und für wos, keine Version macht derartige Zickereien. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 15:48 Uhr Holger Posts: 8116 Nutzer |
Zitat: Bevor noch mehr Leute in die Tischkante beißen: Du erinnerst Dich noch, dass Du nach clib/exec_protos.h suchen wolltest? mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 15:55 Uhr Solar Posts: 3680 Nutzer |
Zitat: Das Problem liegt weniger bei dem halben Dutzend Sendern hier, sondern bei dem einen Empfänger, deucht mir. Zitat: Nö, daß keine Version solche Zickereien macht wie nun ausgerechnet Deine, ist mir schon klar. Ahem. Wieso eigentlich "vbcc für 68k und WOS"? Wir reden hier doch vom ppc-amigaos Target mit OS4-SDK, oder? [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 15:58 Uhr MaikG Posts: 5172 Nutzer |
>Du erinnerst Dich noch, dass Du nach clib/exec_protos.h suchen wolltest? steht nicht in der Datei, aber in: include/proto/exec.h #ifndef CLIB_EXEC_PROTOS_H #include <clib/exec_protos.h> und in targets/ppc-amigaos/include/proto/exec.h #if !defined(CLIB_EXEC_PROTOS_H) && !defined(__GNUC__) #include <clib/exec_protos.h> #endif und da: includes/clib/all_protos.h #include <clib/exec_protos.h> [ Dieser Beitrag wurde von MaikG am 18.12.2007 um 15:59 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 16:05 Uhr Solar Posts: 3680 Nutzer |
Zitat: ...und mit einem lauwarmen IQ käme man jetzt evtl. zurück auf das Posting von TetiSoft von 06:52, in dem da steht: Zitat: Das nennt sich "Transferleistung". [ Dieser Beitrag wurde von Solar am 18.12.2007 um 16:05 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 16:31 Uhr MaikG Posts: 5172 Nutzer |
>Das nennt sich "Transferleistung". Das hab ich doch schon in meinem Quellcode reingeschrieben muss ich das bei den Includes auch noch machen? [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 16:47 Uhr Holger Posts: 8116 Nutzer |
Zitat: Steht das auch vor den Include-Anweisungen? mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 17:40 Uhr MaikG Posts: 5172 Nutzer |
>Steht das auch vor den Include-Anweisungen? Ja. Ich hab das jetzt für alle Librarys gemacht. Jetzt fängt der so an wie mit den OS3.9 Includes und erzählt was von "implicid declaration" und das bei jeder Systemfunktion... Also bin ich wieder am Anfang. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 18:07 Uhr ZeroG Posts: 1487 Nutzer |
@MaikG: Wenn "implicid declaration" bei jeder aufgerufenen Systemfunktion kommt, hast du entweder die Header nicht drinnen, oder du hast vergessen das es unter OS4 die Libraryfunktionen über den Interfacepointer angesprochen werden. Wenn du nichts mit "Interfacepointer" anfangen kannst lese endlich mal den os4_migration_guide.pdf anstatt in zu überfliegen, da ist genau beschrieben wie das funktioniert, inklusive der möglichkeit für Schreibfaule und Projekte die noch ohne änderungen für 3.x zu compilieren sein sollen. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 19:40 Uhr MaikG Posts: 5172 Nutzer |
>Wenn "implicid declaration" bei jeder aufgerufenen Systemfunktion >kommt, hast du entweder die Header nicht drinnen, doch, geht sowohl für 68k als auch für wos zum compilieren. >oder du hast vergessen das es unter OS4 die Libraryfunktionen über >den Interfacepointer angesprochen werden. Was? Ich muss mein Programm ändern um es für OS4 zu Compilieren? Wie war das von wegen C und Portierbarkeit? [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 20:37 Uhr TetiSoft Posts: 197 Nutzer |
Zitat: Portierbares C (printf usw) macht doch gar keine Probleme :-) Lesen bildet. Dir wurde in dem Posting auf das Du geantwortet hast zu verstehen gegeben wo Du nachlesen kannst was "schreibfaule" machen müssen um einen OS3-Quellcode in einen OS3/OS4 Quellcode umzuwandeln. Du mußt tatsächlich eine Zeile zu Deinem Quellcode hinzufügen, oder stattdessen ein Argument zum Compiler-Aufruf im makefile. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 20:37 Uhr Solar Posts: 3680 Nutzer |
Wer dafür ist, MaikG den Programmiererführerschein zu entziehen, bitte jetzt die Hand heben... *heb* [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 21:08 Uhr MaikG Posts: 5172 Nutzer |
>Lesen bildet. Dir wurde in dem Posting auf das Du geantwortet hast >zu verstehen gegeben wo Du nachlesen kannst was "schreibfaule" machen >müssen um einen OS3-Quellcode in einen OS3/OS4 Quellcode umzuwandeln. :-P Hab ich doch, nur ist die Anleitung nicht für Anfänger. __USE_INLINE__ Hab ich in den Source gesetzt, bringt nix. Habs auch in die Commandozeile gesetzt - bringt nix. [ - Antworten - Zitieren - Direktlink - ] |
18.12.2007, 21:37 Uhr TetiSoft Posts: 197 Nutzer |
Zitat: Dann ist wohl irgendwie die Reihenfolge der Includes im Assign falsch oder es liegen alte Includes an der falschen Stelle oder sowas in der Art. Ich nehme vbcc normal nicht und kenne die Details nicht auswendig, ein simples #define __USE_INLINE__ #include <proto/exec.h> müßte sich aber als Test eignen um mit -E oder auch mit Einfügen von #error Zeilen in diejenigen Includes die man glaubt(!) zu benutzen rauszufinden warum letztlich <inline4/exec.h> tatsächlich nicht geladen wird, das proto-file müßte das eigentlich einbinden wenn obiges #define vorhanden ist. [ - Antworten - Zitieren - Direktlink - ] |
1 -2- 3 4 | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > OS4 Progamm mit vbcc | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |