X11 mit Xcode starten

  1. sue!

    sue! Thread StarterMacUser Mitglied

    Mitglied seit:
    14.03.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Hi,
    Ich muss im Rahmen meiner Studienarbeit ein Progrämmchen schreiben, das die X11 Library verwendet.
    Wenn ich das Programm nun über Xcode builde und starten will bekomm ich folgende Fehlermeldung:

    cimg_test has exited due to signal 6 (SIGABRT).
    [Session started at 2006-03-24 08:11:11 +0100.]
    ZeroLink: unknown symbol '_XOpenDisplay'


    So wie ich das sehe, wird das Standardterminal gestartet und nicht X11! Und deshalb können die X11 Befehle nicht aufgelöst bzw. verwendet werden.

    Nach ein wenig googlen hab ich folgenden Workaround über die Konsole gefunden:

    g++ cimg_test.cpp -o cimg_test -lX11 -lpthread -L/usr/X11R6/lib -L/usr/utilities/X11

    Außerdem habe ich herausgefunden, daß man irgendwie Xcode über die "environment variables" beibringen kann, X11 zuverwenden, was natürlich komfortabler wär.

    Aber ich war erfolglos welche Umgebungsvariable/Parameter ich da eintragen muss.

    Kann mir irgendeiner da weiterhelfen.

    Mfg

    Sue!
     
    sue!, 24.03.2006
  2. der_Kay

    der_KayMacUser Mitglied

    Mitglied seit:
    02.09.2004
    Beiträge:
    1.685
    Zustimmungen:
    8
    Wenn Du Programme schreibst, die X11 als Display verwenden, dann müssen diese einen bereits laufenden X-Server vorfinden. Der wird im Allgemeinen nicht eigens gestartet. Einige Mac OS Programme (z.B. OpenOffice) prüfen, ob einer läuft und starten ihn dann bei Bedarf, aber das ist eine Besonderheit unter Mac OS X.

    Was Du da als Workaround beschreibst, ist die zwingend notwendige Anweisung für den Linker, die X11 Bibliothek zu binden. Ohne die geht es natürlich nicht. Das ist der Grund für das "unknown symbol" ;) Google mal nach einem X11-Programmier-Tutorial.

    Noch ein paar Anmerkungen:

    - Du kannst die Datei "/usr/X11/lib/libX11.a" in die XCode-Leiste hineinziehen; dann wird sie mitgelinkt.

    - probier mal, die POSIX-Thread-Library ("-lpthread") auszulassen; das sollte zumindest XCode von alleine kapieren.

    -"/usr/utilities/X11" ist mir unbekannt / existiert nicht bei mir. Lass das auch mal weg.

    Das Einzige, was ich mir im Zusammenhang mit Environment-Variablen in XCode vorstellen kann, ist die Verwendung der DISPLAY-Variable, die man setzt, um X-Clients anzuweisen, ein gegebenes Display (z.B. auf einem anderen Rechner) zu verwenden. Damit dürfest Du bei Deinem Projekt allerdings nicht in Berührung kommen.

    Wenn Deine Programme im Rahmen der Studienarbeit unter Linux / UNIX laufen, stell einfach sicher, dass X11 im Tiger läuft und gut is´ :)
     
    der_Kay, 24.03.2006
Die Seite wird geladen...
Ähnliche Themen - X11 Xcode starten
  1. twr
    Antworten:
    3
    Aufrufe:
    1.463
  2. danielf
    Antworten:
    4
    Aufrufe:
    538
  3. Kaito
    Antworten:
    11
    Aufrufe:
    715
  4. I_am
    Antworten:
    7
    Aufrufe:
    610
  5. Schakal_No1
    Antworten:
    7
    Aufrufe:
    606
    Schakal_No1
    17.03.2007