Bruces Cairo+SVG mod - problem :/

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

PhillipK

Betreff: Bruces Cairo+SVG mod - problem :/

BeitragMo, Jan 09, 2012 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Heyho Community!

Ich bin grade echt überfragt. Mein Primärziel war es eigentlich, mir etwas kleines für Vektorgrafiken zu schreiben, um sie als Pixmaps zu rendern.
Allerdings habe ich das sehr schnell aufgegeben, da mir Vektorgrafiken vom aufbau dann doch eine nummer zu schwer sind.
Nach kurzem googlen allerdings stieß ich auf BaH.Cairo + Bruces SVG loader.
Allerdings ist nichts davon benutzbar, so ziemlich jede c-code zeile wird als fehler angeprangert.

Liegt es nun daran, das das modul veraltet ist und man erst ein wenig umbauen muss, oder bin ich ganz simpel zu blöde, mein Modul richtig zu builden?

Die fehlermeldungen sind immer relativ identisch, nur leider totales wirrwarr in meinen augen. Hab mich wohl bisher zu wenig mit Modulen und generell C/C++ Code in blitzmax befasst.

Hier mal ein Auszug:
Code: [AUSKLAPPEN]
Warning: .drectve `-aligncomm:"_joyhandle",5' unrecognized
Warning: .drectve `-aligncomm:"_WriteStream",2 ' unrecognized
Warning: .drectve `-aligncomm:"_ccinfo",5 ' unrecognized
Warning: .drectve `-aligncomm:"_jerr",5' unrecognized
Warning: .drectve `-aligncomm:"_stdin_",2 ' unrecognized
Warning: .drectve `-aligncomm:"_stdout_",2 ' unrecognized
Warning: .drectve `-aligncomm:"_stderr_",2' unrecognized
Warning: .drectve `-aligncomm:"_bbGCStackTop",2 ' unrecognized
Warning: .drectve `-aligncomm:"__bbusew",2' unrecognized
Warning: .drectve `-aligncomm:"__bbNeedsLock",2 ' unrecognized
Warning: .drectve `-aligncomm:"__bbLock",2' unrecognized
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo.c.debug.win32.x86.o):cairo.c:(.text+0x300a): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-image-surface.c.debug.win32.x86.o):cairo-image-surface.c:(.text+0x4c09): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-image-surface.c.debug.win32.x86.o):cairo-image-surface.c:(.text+0x5207): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-ps-surface.c.debug.win32.x86.o):cairo-ps-surface.c:(.text+0x1019): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-gstate.c.debug.win32.x86.o):cairo-gstate.c:(.text+0x2fe5): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-bentley-ottmann-rectangular.c.debug.win32.x86.o):cairo-bentley-ottmann-rectangular.c:(.text+0xc6a): more undefined references to `__chkstk_ms' follow
Build Error: Failed to link D:\Programmieren\Dropbox Synch\Dropbox\LSS_neu\Test\Test SVG\New file.debug.exe


Es sei anzumerken, das ich kürzlich einen neuen PC bekommen habe und alles erstmal provisorisch kopiert habe. MingW musste ich u.a. auch neu aufspielen. Allerdings hab ich wohl die 32bit version erwischt (für Win7 Ultimate 64bit). Dennoch, eine bekannte die ebenfalls Win7 Ultimate 64bit benutzt hat schon ewig die 32bit version von mingW und es läuft.
(darüber hinaus bin ich auchnoch zu blöde die 64bit+32bit version von MingW als prebuild zu finden -.- Heute ist echt der wurm drin)

Kann mir jemand kurz ein paar stichpunkte nennen, wo ich mit der fehlersuche beginnen soll? In meinen augen ist so ziemlich grade alles möglich :/

ZEVS

BeitragMo, Jan 09, 2012 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim Linken von manchen Modulen müssen weitere Dateien an den Linker übergeben werden. Das alleinige einbinden von Header-Dateien reicht nur zum Kompillieren, der Linker will diese noch mal auf seine Weise: als statische Bibliotheken, also *.a oder *.lib. Glücklicherweise lassen sich die *.a-Dateien normalerweise problemlos in BlitzMax einbinden, womit ich gute Erfahrungen gemacht habe.
Ich hoffe, das hilft dir.
Zitat:

Kann mir jemand kurz ein paar stichpunkte nennen, wo ich mit der fehlersuche beginnen soll? In meinen augen ist so ziemlich grade alles möglich :/

Linker, nicht Compiler

ZEVS

Midimaster

BeitragMo, Jan 09, 2012 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich verwende derzeit CAIRO zum Coden meines "Rhytmus-Trainer". Dort mutze ich es zum Erstellen von PDF-Dokumenten. Und es funktioniert einwandfrei...

soweit ich mich erinnere, war auch das Einfügen in das eigene Projekt kein Problem. Ich habe mir den Source-Code direkt bei Brucey geholt und dann in das .../MOD/BAH.MOD/CAIRO.MOD/... Verzeichnis extrahiert. So wie es aussieht, habe ich es dort über "Build Modules" von BlitzMax Builden lassen. Mein Entwicklungsrechner ist allerdings 32bit Win-XP, das BlitzMax ist 1.39 und das MinGW ist 5.1.6

Ich benötigte nur diese eine Zeile zum einbinden:

BlitzMax: [AUSKLAPPEN]
Import BaH.Cairo


Leider bin ich nun keine Experte für CAIRO, aber ich kann dir wenigstens versichern, dass dort es einwandfrei läuft. Die fertigen EXE laufen auch unter WIN-7.
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

ZEVS

BeitragMo, Jan 09, 2012 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst ein paar Dateien ersetzen. Eine kleine Exkursion:
Installation von Modulen Arrow Installation von MinGW (letzter Post) Arrow Quasi dein Thread Arrow Lösung
 

PhillipK

BeitragMo, Jan 09, 2012 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat leider nix gebracht..
Mir war zwar nicht klar, das ich ein paar dateien austauschen sollte, aber geändert hat das nix.

Ich hab extra nochmal alle mods gelöscht und neu entpackt, danach neu gebuildet. Leider erfolglos. Fehlermeldung immernoch total unwirsch:
Code: [AUSKLAPPEN]
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo.c.debug.win32.x86.o):cairo.c:(.text+0x300a): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-image-surface.c.debug.win32.x86.o):cairo-image-surface.c:(.text+0x5207): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-ps-surface.c.debug.win32.x86.o):cairo-ps-surface.c:(.text+0x1019): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-gstate.c.debug.win32.x86.o):cairo-gstate.c:(.text+0x2fe5): undefined reference to `__chkstk_ms'
D:/Programmieren/BlitzMax/mod/bah.mod/cairo.mod/cairo.debug.win32.x86.a(cairo-bentley-ottmann-rectangular.c.debug.win32.x86.o):cairo-bentley-ottmann-rectangular.c:(.text+0xc6a): more undefined references to `__chkstk_ms' follow
Build Error: Failed to link D:\Programmieren\BlitzMax\mod\bah.mod\cairo.mod\examples\fill_and_stroke.debug.exe


War wohl nix ^^ Scope passt, installationsguide auch zu rate gezogen.
Ich habs vorher auch mehrmals "per hand" compiled, alle module neu gebaut und auch per Blide Builden lassen. Hilft alles nix, ich bin ratlos.
Ich versuchs nochmal mit einer anderen MingW version Sad

ZEVS

BeitragMo, Jan 09, 2012 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
aber geändert hat das nix.

Außer dem Verschwinden der ganzen Warnings vielleicht Wink .
Der verbleibende Fehler enthält signifikant die Zeichenkette __chkstk_ms. Wenn man damit mal Google konfrontiert, landet man schnell hier: http://powdertoy.co.uk/Discuss...read=12339. Dort wird das einbinden von libgcc.a empfohlen, s.o.

ZEVS
 

PhillipK

BeitragMo, Jan 09, 2012 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh schreck, das mit den warnings ist mir garnicht aufgefallen oO Bin schon etwas müd geworden, die fehlertexte durchzulesen >.<
Zu meiner verteidigung, ich teste verschiedene beispiele aus, vllt hatte ich bei dem grade glück? *grins*

Mal sehen, was dein link so verrät. ich edite gleich mal.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group