gcc meldet Error trotz vorhandenem Header in FreeBSD

Dieses Thema im Forum "FreeBSD" wurde erstellt von 0x41, 01.07.2013.

  1. 0x41

    0x41 Grünschnabel

    Dabei seit:
    01.07.2013
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,

    Ich habe das Problem ,daß ich mit der X.h header Datei arbeiten möchte,
    aber gcc findet sie nicht, obwohl sie da ist.
    Nachgeguckt habe ich schon...

    Der Error sieht wie folgt aus : "error: X11/X.h: No such file or directory"

    Vielleicht fällt euch ja was ein.

    Vielen Dank im voraus.

    0x41
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 tgruene, 01.07.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Wie sehen denn die zuhgehoerige include-Direktive und der Kompilierbefehl aus? gcc durchsucht ja nicht die gesamte Festplatte.
     
  4. 0x41

    0x41 Grünschnabel

    Dabei seit:
    01.07.2013
    Beiträge:
    2
    Zustimmungen:
    0
    hai,

    ich habe schon alles ausprobiert...
    #include <X11/X.h>
    #include "X11/X.h"
    #include <X.h>
    #include "X.h"

    kompilert habe ich das ganze ganz normal mit ' gcc -o mein_file mein_file.c'
    Ich habe vom linken von Dateien nicht so viel Ahnung...
    Man kann ja auch mit -I oder -L spezielle Pfade an gcc übergeben, aber so weit bin ich noch nicht wirklich.
    Habe das zum Teil auch schon ausprobiert, aber auch wenn ich den Pfad für die Header Dateien mit -I/usr/local/include/X11 angebe ,findet gcc X.h nicht.
     
  5. ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    Vielleicht mit einem find überprüfen ob die Header-Dateien auch wirklich da sind?
     
  6. #5 tgruene, 07.07.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Was ist denn die Ausgabe von 'cpp -v'? Bitte moeglichst Befehl und Ausgabe per cut-and-paste und in code-tags angeben.
     
  7. ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    Ups, hatte nicht ganz gelesen. Vielleicht muss bei freebsd explizit -I. -L. mit angegeben werden. Vielleicht ja auch ein Rechte-Problem?
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 floyd62, 08.07.2013
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Hi,

    steht im Source-File xyz.c
    Code:
    #include <X11/X.h>
    dann sollte mit
    Code:
    $ gcc -I /usr/local/include -o xyz xyz.c
    auf jeden Fall schon mal das Include-File gefunden werden. Wahrscheinlich wirst du aber noch zusätzlich Optionen benötigen, um dem Compiler mitzuteilen, welche Libraries er dazulinken soll und wo er die finden kann (also z.B. "-L /usr/local/lib -lXYZ", falls du Funktionen aus einer XYZ-Library verwendest, und die entsprechende libXYZ.so sich in /usr/local/lib befindet).

    Gruss, A.
     
  10. #8 tgruene, 09.07.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Mit 'cpp -v' erhaltst Du eine Liste der Pfade, die automatisch durchsucht werden. Befindet sich die Datei X.h in einem anderen Verzeichnis, so musst Du sie mit '-I' beim Aufruf von gcc angeben. Bei mir (Debian jessie), liesst sich der entsprechende Teil so:
    Code:
    Thread model: posix
    gcc version 4.7.3 (Debian 4.7.3-4) 
    COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=x86-64'
     /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 -E -quiet -v -imultilib . -imultiarch x86_64-linux-gnu - -mtune=generic -march=x86-64
    ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
    ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/include"
    #include "..." search starts here:
    #include <...> search starts here:
     /usr/lib/gcc/x86_64-linux-gnu/4.7/include
     /usr/local/include
     /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
     /usr/include/x86_64-linux-gnu
     /usr/include
    End of search list.
    
    Da sich X.h bei mir in /usr/include/X11/X.h befindet, reicht die Angabe '#include <X11/X.h>' aus.
     
Thema:

gcc meldet Error trotz vorhandenem Header in FreeBSD

Die Seite wird geladen...

gcc meldet Error trotz vorhandenem Header in FreeBSD - Ähnliche Themen

  1. FSF vermeldet erfolgreiche Spendenkampagne

    FSF vermeldet erfolgreiche Spendenkampagne: Die Free Software Foundation hat ihre Winter-Spendenkampagne mit 542.000 US-Dollar und fast 500 neuen Mitgliedern abgeschlossen. Weiterlesen...
  2. Linux Foundation vermeldet fünf neue Mitglieder

    Linux Foundation vermeldet fünf neue Mitglieder: Die Linux Foundation, das Industriekonsortium zur Förderung von Linux, hat fünf weitere Mitglieder aufgenommen. Es handelt sich dabei um kleinere...
  3. Desura: Eigentümer meldet Insolvenz an

    Desura: Eigentümer meldet Insolvenz an: Die Mutterfirma der Spielevertriebsplattform Desura, Bad Juju, ist Medienberichten zufolge insolvent. Entsprechende Gerüchte über finanzielle...
  4. drawcut meldet /dev/sda2 doesnt exist obwohl vorhanden

    drawcut meldet /dev/sda2 doesnt exist obwohl vorhanden: Hallo zusammen, ich nun versucht das erstelle Redhat7 Image auch auf der neuen Hardware zu bespielen (WIr haben dafür ein System ) Wenn ich...
  5. GNU Hurd meldet sich zu Wort

    GNU Hurd meldet sich zu Wort: Auf der Linux-Konferenz FOSDEM gab ein Entwickler einen Überblick über den derzeitigen Stand des Projekts. Weiterlesen...