amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Intuition prototypen im AOS4 SDK? [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2010-01-02, 10:04 h

Reth
Posts: 1858
User
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

[ - Answer - Quote - Direct link - ]

2010-01-02, 10:29 h

ZeroG
Posts: 1487
User
@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?

[ - Answer - Quote - Direct link - ]

2010-01-02, 12:41 h

Reth
Posts: 1858
User
@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.

[ - Answer - Quote - Direct link - ]

2010-01-02, 13:34 h

ZeroG
Posts: 1487
User
@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.

[ - Answer - Quote - Direct link - ]

2010-01-02, 13:51 h

Reth
Posts: 1858
User
@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!

[ - Answer - Quote - Direct link - ]

2010-01-06, 17:47 h

Reth
Posts: 1858
User
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?

[ - Answer - Quote - Direct link - ]

2010-01-06, 17:59 h

whose
Posts: 2156
User
@Reth:

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

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

[ - Answer - Quote - Direct link - ]

2010-01-06, 18:26 h

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

[ - Answer - Quote - Direct link - ]

2010-01-09, 17:56 h

Reth
Posts: 1858
User
@whose:

Ganz genau! Danke!

[ - Answer - Quote - Direct link - ]

2010-01-11, 00:45 h

whose
Posts: 2156
User
@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

[ - Answer - Quote - Direct link - ]

2010-01-11, 17:28 h

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

[ - Answer - Quote - Direct link - ]

2010-01-11, 21:29 h

whose
Posts: 2156
User
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

[ - Answer - Quote - Direct link - ]

2010-01-11, 22:12 h

thomas
Posts: 7717
User
@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/

[ - Answer - Quote - Direct link - ]

2010-01-11, 23:21 h

whose
Posts: 2156
User
@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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Intuition prototypen im AOS4 SDK? [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.