amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Intuition prototypen im AOS4 SDK? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

02.01.2010, 10:04 Uhr

Reth
Posts: 1858
Nutzer
Hallo zusammen,

habe gerade ein Problem beim Compilieren meiner Sourcen, die mit GoldED Studio AIX und einem etwas älteren SDK prima funktionierten.

Aktuell werden einige Prototypen nicht mehr gefundenden, z.B. die von CloseScreen() aus proto/intuition.h.

Wenn ich mir das entsprechende Include-File im aktuellen SDK ansehe ist darin auch diese Funktion nicht mehr vorhanden, sie befindet sich noch in einem Include unterhalb des clib Ordners (compiliere gegen newlib), innerhalb des inline4- und interfaces-Ordners .

Eingebunden habe ich das Include wie immer mit:
C++ code:
#include <proto/intuition.h>


Die Fehlermeldung des g++ lautet: "CloseScreen was not declared in this scope."

Oder liegt hier ein anderes Problem vor, dass bei GoldED AIX nicht auftrat (dort wurden ja noch die GCC-Prefs vor jedem Compile gerufen)?

Ciao

[ - Antworten - Zitieren - Direktlink - ]

02.01.2010, 10:29 Uhr

ZeroG
Posts: 1487
Nutzer
@Reth:
OS4.x?
Wenn ja und CloseScreen wirklich fehlt, sollte die Meldung "error: 'struct IntuitionIFace' has no member named 'CloseScreen'" verkünden, oder hast du das IIntuition-> vergessen?

[ - Antworten - Zitieren - Direktlink - ]

02.01.2010, 12:41 Uhr

Reth
Posts: 1858
Nutzer
@ZeroG:

Ja OS4.1. Allerdings programmier ich quasi 68k-like, also ohne Interfaces usw. Das Ganze hat auch immer brav compiliert (GoldED Studio AIX mit dem AOS4 SDK, glaub das war damals Version 52 oder 51).

Binde die Sachen daher auch wie in dieser alten Art ein (über header und header der Prototypen) und verwende die Library-Funktionen normal ohne Interfaces.

[ - Antworten - Zitieren - Direktlink - ]

02.01.2010, 13:34 Uhr

ZeroG
Posts: 1487
Nutzer
@Reth:
Du benutzt aber die Interfaces ob du nun willst oder nicht - du brauchst sie nur nicht hinschreiben wenn du __USE_INLINE__ vor allen os-includes definierst, das erledigt dann der Präprozessor für dich.

Zitat:
(über header und header der Prototypen)
Hä? Versteh kein wort.

[ - Antworten - Zitieren - Direktlink - ]

02.01.2010, 13:51 Uhr

Reth
Posts: 1858
Nutzer
@ZeroG:

Ah! Danke, das mit dem __USE_INLINE__ hatte mir gefehlt, das muss ich nochmal prüfen!

Der Punkt mit den Headern und Headern der Prototypen ist so gemeint, dass man die *.h-Files der eigentlichen Libraries und die der Prototypen inkludieren muss.

Also intuition.h und proto/intuition.h!

[ - Antworten - Zitieren - Direktlink - ]

06.01.2010, 17:47 Uhr

Reth
Posts: 1858
Nutzer
Also -D __USE_INLINE__ funktioniert beim Compilieren, allerdings bekomme ich beim Linken aller Objectfiles lauter Fehler: "Undefined reference to 'IGraphics'" und für alle anderen Interfaces!

Muss ich da noch mehr Symbole definieren, oder was ganz anderes angeben?

[ - Antworten - Zitieren - Direktlink - ]

06.01.2010, 17:59 Uhr

whose
Posts: 2156
Nutzer
@Reth:

Hm, -lauto vergessen, möglicherweise?
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

06.01.2010, 18:26 Uhr

ZeroG
Posts: 1487
Nutzer
@whose:
Oder er öffnet alles per Hand. Ist sowieso besser, weil mit -lauto zu 99% der Versionscheck bei den Libraries/Interfaces vergessen wird...

[ - Antworten - Zitieren - Direktlink - ]

09.01.2010, 17:56 Uhr

Reth
Posts: 1858
Nutzer
@whose:

Ganz genau! Danke!

[ - Antworten - Zitieren - Direktlink - ]

11.01.2010, 00:45 Uhr

whose
Posts: 2156
Nutzer
@Reth:

Gern geschehen! :)

@ZeroG:

Ich weiß ja nicht, wie es bei den OS4-SDKs damit aussieht, aber zu der Zeit, als libauto aufkam, wurde die Version des jeweils aktuellsten unterstützten NDKs in den Init-Funktionen als #define verwendet. Im Endeffekt würde das bedeuten, daß nur die zu dem SDK passenden aktuellsten Library-Versionen auto-geöffnet werden.

Ist das nicht noch so?
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

11.01.2010, 17:28 Uhr

ZeroG
Posts: 1487
Nutzer
@whose:
Beim letzten mal als ich nachgesehen hab wurde grundsätzlich Version 0 geöffnet...

[ - Antworten - Zitieren - Direktlink - ]

11.01.2010, 21:29 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von ZeroG:
@whose:
Beim letzten mal als ich nachgesehen hab wurde grundsätzlich Version 0 geöffnet...


*narf* wenn dem tatsächlich so ist, ist es wieder mal an der Zeit, die verehrten OS-Entwickler auf ihren enorm laxen Umgang mit dem SDK hinzuweisen. Nicht genug, daß die "Dokumentation" vom IDLTool schlicht nicht vorhanden ist, obwohl das ReadMe etwas anderes behauptet, nein, jetzt öffnet die libauto auch noch einfach so VERSION 0? Kanns doch irgendwo nicht sein...
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

11.01.2010, 22:12 Uhr

thomas
Posts: 7717
Nutzer
@whose:

Anders darf es nicht sein, sonst könntest du mit neueren SDKs keine Software für ältere OS-Versionen erstellen.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

11.01.2010, 23:21 Uhr

whose
Posts: 2156
Nutzer
@thomas:

Äh, doch... in früheren Varianten der libauto konnte man per globaler Variable (OS_VERSION oder so ähnlich) die Minimum-Anforderungen an Libraries angeben. Würde das wieder eingeführt (oder Vergleichbares), gäbe es keine Probleme mit neueren Programmen auf älteren Systemen. Vom Aufwand, die Library-Version dann doch wieder "von Hand" testen zu müssen ganz abgesehen.

Name clashes und ähnliche Ausreden lasse ich nicht gelten, Stack-Cookies und Verwandte sind ja schließlich auch "erlaubt" ;)

Selbst "deprecated"-Versionen wären machbar, dazu müßte IDL-Tool und das unsägliche XML-Geraffel etwas angepaßt werden, so daß man als "Ersteller" vorgeben kann, ob für eine bestimmte Library nur eine kleinere Version als die des aktuellen SDKs existiert. Vergleich OS_VERSION gegen maximal mögliche Version (OS-Version höher -> max. Version, ansonsten OS-VERSION) wäre dann ebenfalls machbar.

Dann hätte libauto den Namensteil "auto" auch endlich wieder verdient....
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Intuition prototypen im AOS4 SDK? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.