![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > Linker-Fehler mit picture.datatype | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
02.06.2003, 11:09 Uhr alexw Posts: 137 Nutzer |
Hi! Ich möchte in einem Programm mit Hilfe von Datatypes Bilder anzeigen lassen. Allerdings meldet der Linker bei den Funktionen "ObtainDTDrawInfo", "DrawDTObject" und "ReleaseDTDrawInfo" jeweils einen Fehler, dass das entsprechende Symbol nicht existiert. Weiß jemand, was ich da tun kann? Ich benutze StormC 4 mit dem GCC. Alex. [ Dieser Beitrag wurde von alexw am 02.06.2003 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 12:25 Uhr Georg Posts: 107 Nutzer |
Da ist die verwendete amiga.lib wohl zu alt und hat diese stub-Funktionen noch nicht drin. Diese Funktionen sind ja vararg Varianten der eigentlichen Library Funktionen selben Names mit zusätzlichem 'A' hinten dran (ObtainDTDrawInfoA(), DrawDTObjectA()). Also die gleiche Geschichte wie bei NewObject() == vararg Variante von NewObjectA(). Also benutz einfach die ...A() Funktionen. Z. B. struct TagItem tags[] = { {PDTA_Screen, (ULONG)myscreen}, {TAG_DONE } }, APTR handle; handle = ObtainDTDrawInfoA(dto, tags); anstelle von: handle = ObtainDTDrawInfo(dto, PDTA_Screen, myscreen, TAG_DONE); [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 12:49 Uhr thomas Posts: 7719 Nutzer |
Oder mach dir selbst Stubs (Achtung: nur für 68K !) APTR ObtainDTDrawInfo (Object *dto, ULONG tag1, ...) { return (ObtainDTDrawInfoA (dto,(struct TagItem *)&tag1)); } Oder nimm die amiga.lib aus dem NDK (ich weiß allerdings nicht, ob die mit Storm funktioniert, da stand irgend was in dem Readme). Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 14:00 Uhr alexw Posts: 137 Nutzer |
Zitat: Die ...A()-Funktionen habe ich auch schon probiert. Geht nicht. Ich habe auch schon mit DirOpus mit der "Durchsuchen"-Funktion die amiga.lib nach den Funktionen durchsucht. Sie scheinen enthalten zu sein. [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 15:52 Uhr gni Posts: 1106 Nutzer |
Zitat:Dann sind auch Deine Includes zu alt... [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 18:57 Uhr alexw Posts: 137 Nutzer |
Zitat: Können sie zu alt sein, wenn das Projekt ohne Fehler kompiliert? Die Fehler treten ja nur beim Linken auf. Was ich mir denken könnte ist, dass die amiga.lib andere Argumente für diese Funktionen erwartet als die Include-Datei und deshalb das entsprechende Symbol in der lib nicht gefunden wird. Aber wieso sollte das so sein??? Ich habe mal ein Beispielprojekt erstellt wo die Fehler auftreten: http://www.alexwe.de/testproj.lha Vielleicht kann mir damit jemand sagen, was falsch läuft? [ Dieser Beitrag wurde von alexw am 02.06.2003 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 20:34 Uhr Mazze Posts: 263 Nutzer |
Hallo, ich habe versucht, das Programm mit VBCC zu kompilieren und habe auch die Linkerfehler bekommen. Grund ist, dass es die angemeckerten Funktionen erst seit AOS 3.5 oder 3.9 gibt, die Inlines aber nur die 3.1er-Funktionen enthalten. Du musst Dir also mit fd2pragma aktuelle Inlines erzeugen. Tschau ![]() [ - Antworten - Zitieren - Direktlink - ] |
03.06.2003, 09:46 Uhr gni Posts: 1106 Nutzer |
Zitat:Ja. Die fehlenden Funktionen sind V44 Erweiterungen die im NDK von 3.5(!) nicht definiert sind, obwohl sie im NDK3.9 als 3.5 Funktionen angegeben sind... Kurz, sowohl Deine Includes als auch Deine amiga.lib sind zu alt. [ - Antworten - Zitieren - Direktlink - ] |
03.06.2003, 14:55 Uhr alexw Posts: 137 Nutzer |
Vielen Dank, Mazze und gni! Meine amiga.lib war zu alt. Die Includes scheinen in Ordnung zu sein, denn nun geht's. ![]() Alex. [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Linker-Fehler mit picture.datatype | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |
![]() |