1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

ObjC im Terminal compilieren

Dieses Thema im Forum "OS X-Developer" wurde erstellt von snoopysalive, 28.02.07.

  1. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Tag!

    Weiß jemand von euch, wie man ObjC im Terminal compiliert? Klingt doof, ist aber so.

    Ich probier's immer mit
    Code:
    gcc -ObjC -o <prog_name> <source>.m
    Das funktioniert auch solange, bis ich objektorientiert werden will. Sobald ich dann
    Code:
    gcc -ObjC -o <prog_name> <source1>.m <source2>.m
    eingebe, bekomme ich nur diese Fehlermeldung zurück:
    Code:
    ld: Undefined symbols:
    _objc_msgSend
    .objc_class_name_NSObject
    Da scheint der Assembler-Code also plötzlich nicht mehr in der Lage zu sein, das NSObject zu finden, welches ich über
    Code:
    #include <Cocoa/Cocoa.h>
    oder
    #include <Foundation/Foundation.h>
    oder
    #include <Foundation/NSObject.h>
    einbinde.

    Ja, ich habe den Quelltext schon unter XCode ausprobiert und erfolgreich compilieren können. Ich will XCode aber nicht benutzen, weil mir das Terminal lieber ist. Ich mache also wohl irgendwo einen Fehler beim Aufruf von gcc. Wenn jemand was weiß, bitte melden.

    Danke!
     
  2. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Im "Programming in Objective-C" wird es zu Beginn mit -l objc gelehrt. Das führt aber zu statischer Verlinkung soweit ich mich erinnern kann. Ich kann nicht sagen inwiefern Dich das betrifft.

    Ich bin ja nur ein Obj-C Noob. :)
    Gruß Pepi
     
  3. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Der Linker findet die Symbole nicht, weil Du ihm nicht sagst, wo er sie findet. Gib mal noch ein
    Code:
    -framework Cocoa
    mit an.

    MacApple
     
    MacMark gefällt das.
  4. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Jap, danke! Mit
    Code:
    -framework Cocoa
    läuft der Compiler. Dieser gcc ist echt eine Doktorarbeit wert. ;)
     
  5. mod_che

    mod_che Morgenduft

    Dabei seit:
    06.03.07
    Beiträge:
    164
    wie kann ich gcc installieren?
     
  6. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    gcc ist Teil der Xcode Tools, also der Entwickler Werkzeuge. Die findest Du entweder in einer (meist veralteten) Version auf Deinen Original Installationsmedien, oder (besser) Du lädst die akutelle Version (momentan Xcode Tools 2.4.1) bei der Apple Developer Connection runter. (Eine kostenlose Registrierung ist notwendig.)
    Gruß Pepi
     
  7. mod_che

    mod_che Morgenduft

    Dabei seit:
    06.03.07
    Beiträge:
    164
    gut, ist in Arbeit.
    Wie war nochmal der Befehl im bash, um nach allen Modulen mit einer Namenseingabe zu suchen: list -l "*gcc*" oder so?
     
  8. Hobbes_

    Hobbes_ Gast

    find /usr -name "*gcc*"

    Beispiel: Sucht Dir beispielsweise das ganze Verzeichnis /usr mitsamt seiner Unterverzeichnisse ab nach Dateien, die im Namen irgendwo gcc enthalten.

    Wozu brauchst Du so eine Suche?
    psc
     
  9. mod_che

    mod_che Morgenduft

    Dabei seit:
    06.03.07
    Beiträge:
    164
    um zu sehen, ob gcc druff ist... ist nicht
     
  10. Hobbes_

    Hobbes_ Gast

    Ach so. Dann steht Dir also einer Installation, wie oben von pepi beschrieben, nichts im Weg :)

    Viel Erfolg!

    psc
     
  11. mod_che

    mod_che Morgenduft

    Dabei seit:
    06.03.07
    Beiträge:
    164
    ok, nun folgendes getan:
    1) xcode mit meinen nötigen packages installiert
    2) gcc wurde nun gefunden
    3) also pysqlite-2.3.3 mittels python setup.py install installiert: erfolgreich, habe ich mit import pysqlite2 in python getestet, geht!
    4) mit trac initenv neue trac umgebung initialisiert, erfolgreich
    5) mit tracd -p8000 /path/project erfolgreich standaloneserver auf localhost installiert, geht.
    6) im browser auf diesen localhost:8000 zugegriffen, dann

    also, versuche ich nun Clearsilver nochmals zu installieren.

    doch mit
    $ ./configure
    erscheint:
    und nun?
     
  12. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Wenn Du den gcc als command suchst, dann wäre wohl which, whereis oder auch locate geeignet.
    Gruß Pepi
     
  13. Hobbes_

    Hobbes_ Gast

    Habe selbst noch nicht mit diesem System gearbeitet. Die clearsilvers Homepage sprudelt auch nicht gerade über vor lauter Tips zu einem ergolgreichen install.

    Vielleicht hilft Dir folgender Tipp, den ich auf einer Seite fand, indem TRAC auf BSD Unix installiert ist (unserem Darwin ja nah verwandt :) ). Dort wird verlangt, dass dem Script ./configure ein paar Parameter mitgegeben werden (Achtung: Ist nicht ganz die neuste Version des Packages). Vielleicht könnte es an dem liegen? Liegt Deinem Package kein readme mit dabei, das noch ein paar Infos gibt?

    Link auf die externe Website.
     
  14. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741

Diese Seite empfehlen