SuperTuxKart 0.3 Alpha

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von xeno74, 06.04.2007.

  1. xeno74

    xeno74 Thread Starter MacUser Mitglied

    Beiträge:
    70
    Zustimmungen:
    3
    MacUser seit:
    06.04.2007
    Hallo Forum,

    ich gehöre dem Mac-Portiererteam von SuperTuxKart an.

    Wir bereiten gerade den Port für die Version 0.3 vor.

    Normales Kompilieren ist kein Problem mehr.

    Wir wollen in regelmäßigen Abständen Test-Versionen
    von STK bereitstellen und diese als AppBundle verteilen.

    Dafür möchte ich SuperTuxKart gerne statisch kompilieren (inkl. SDL + Freealut von OpenAL.org).

    Folgende Versuche habe ich bereits unternommen:

    1. Versuch:
    Code:
    ./configure --enable-static
    
    2. Versuch durch Eintrag von LDFLAGS in das Makefile:
    Code:
    LDFLAGS = -framework OpenAL /sw/lib/libalut.a `/sw/bin/sdl-config --static-libs`
    
    3. Versuch wieder durch einen Eintrag in das Makefile:
    Code:
    LDFLAGS =  -framework OpenAL -lalut /sw/lib/libSDLmain.a /sw/lib/libSDL.a -Wl,-framework,OpenGL -Wl,-framework,IOKit -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
    Das komische an der Sache ist, dass diese Einträge in den Makefiles zwar vom Linker zur Kenntnis genommen werden. Der Linker dann aber doch macht was er will.

    Wie schon geschrieben, dass "make" läuft immer sauber durch und der Linker verknüpft immer mit Shared Librarys.

    Dies überprüfe ich mit "otool -L supertuxkart":

    Code:
    supertuxkart:
            /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL (compatibility version 1.0.0, current version 1.0.0)
            /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
            /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
            /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
            /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 12.0.0)
            /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0)
            /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0)
            /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
            /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
            /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
            /sw/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.0.0)
            /sw/lib/libvorbisfile.3.dylib (compatibility version 5.0.0, current version 5.0.0)
            /sw/lib/libmikmod.2.dylib (compatibility version 3.0.0, current version 3.4.0)
            /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
            /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.8)
    
    Was habe ich falsch gemacht?

    Wie werden die SDL-Libs statisch eingebunden?

    Gruß,

    Christian
     
  2. Lotzekov

    Lotzekov MacUser Mitglied

    Beiträge:
    315
    Zustimmungen:
    8
    MacUser seit:
    07.03.2006
    hm... kann dir leider auch nicht helfen, wollte aber anmerken, dass sich hier in diesem forum eher weniger Entwickler rumtreiben... mein Eindruck zumindestens.

    Schau doch mal bei www.osxentwicklerforum.de vorbei !
     
  3. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser seit:
    21.01.2005
    Ähem, wenn ich nicht auf dem völlig falschen Dampfer bin hat sdl-config überhaupt keinen Parameter --static-libs. Wenn du statisch linken willst, musst du dem gcc (nehm ich mal an) doch einfach nur den Parameter -static mitgeben. Und eben noch die passenden Parameter von sdl.

    Keine Ahnung wie du die Sachen linkst, aber das müsste doch dann in etwa so aussehen:

    gcc -static -o myApp $(sdl-config --libs) tolledatei.o nocheinetolledatei.o


    Oder etwa nicht? :confused: Den Weg zum osxentwicklerforum spar ich mir jetzt mal. ;)
     
  4. xeno74

    xeno74 Thread Starter MacUser Mitglied

    Beiträge:
    70
    Zustimmungen:
    3
    MacUser seit:
    06.04.2007
    MMMmmmmhhh, ich brauch etwas, dass ich dem ./configure mitgeben
    kann. Oder ein Eintrag in einem Makefile. "-static" hatte ich auch schon probiert. :confused:
     

Diese Seite empfehlen