c modul unter os x compilieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hiasl
User
Beiträge: 31
Registriert: Donnerstag 20. April 2006, 13:36

Hallo,

ich versuche unter Mac OS X ein in C geschriebenes Modul mit gcc zu kompilieren und suche dazu das Pendant zu "python25.lib".

Kann mir jemand einen Tipp geben?

Ciao
Matthias
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

gcc installieren? Ohne Fehlermeldung kann ich nur raten was du willst.
TUFKAB – the user formerly known as blackbird
ne0h
User
Beiträge: 115
Registriert: Samstag 16. Februar 2008, 11:35

gcc installieren?

gcc ist unter OS X standardmäßig vorinstalliert.



ne0h
hiasl
User
Beiträge: 31
Registriert: Donnerstag 20. April 2006, 13:36

Im Grunde brauche ich für foo.c (inkludiert Python.h) den passenden gcc Aufruf, der mir die richtige Python-Bibliothek mit dazu linkt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wo ist das Problem, die distutils zu nutzen? Dann ist es dir relativ egal welcher Compiler da verwendet wird.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Ich würde auch dringed zu distutils raten, hat bei mir neulich auch auf einem Apple problemlos hingehaut. Wenn du wirklich zu Fuss compilen willst, schau halt einmal im distutils-Quellcode nach, vielleicht findest du dort etwaige Eigenheiten für OS X.
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

schau halt einmal im distutils-Quellcode nach, vielleicht findest du dort etwaige Eigenheiten für OS X.
Hab kurz drübergeschaut, dabei ist mir folgendes aufgefallen, allerdings hab ich hier nur Python 2.4, meine Information könnte also leicht angestaubt sein.

1.) Auf OSX gibt es eine Variable MACOSX_DEPLOYMENT_TARGET, die für's Übersetzen wichtig scheint:

Code: Alles auswählen

# (sysconfig.py)

    # On MacOSX we need to check the setting of the environment variable
    # MACOSX_DEPLOYMENT_TARGET: configure bases some choices on it so
    # it needs to be compatible.
2.) Der OSX-Linker verwendet unübliche Parameter-Namen für Pfadangaben:

Code: Alles auswählen

# (unixcompiler.py)

        # XXX Hackish, at the very least.  See Python bug #445902:
        # http://sourceforge.net/tracker/index.php
        #   ?func=detail&aid=445902&group_id=5470&atid=105470
        # Linkers on different platforms need different options to
        # specify that directories need to be added to the list of
        # directories searched for dependencies when a dynamic library
        # is sought.  GCC has to be told to pass the -R option through
        # to the linker, whereas other compilers just know this.
        # Other compilers may need something slightly different.  At
        # this time, there's no way to determine this information from
        # the configuration data stored in the Python installation, so
        # we use this hack.
        compiler = os.path.basename(sysconfig.get_config_var("CC"))
        if sys.platform[:6] == "darwin":
            # MacOSX's linker doesn't understand the -R flag at all
            return "-L" + dir
Vielleicht kommst du ja von hier aus weiter.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

ne0h hat geschrieben:gcc ist unter OS X standardmäßig vorinstalliert.
Dafür liegen dir genug andere Felsen im Weg. Bundles :-/
TUFKAB – the user formerly known as blackbird
Antworten