[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem bei C Fensterprogrammierung



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 24.12.2013 15:04, schrieb Volker Weißmann:
> Am 23.12.2013 22:47, schrieb Heiko Schlittermann:
>> Hallo Volker,
> 
>> Volker Weißmann <volker.weissmann@gmx.de> (Mo 23 Dez 2013
>> 22:42:10 CET):
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>> 
>>> Hallo, in der Datei /usr/include/X11/Xlib.h befindet sich:
>>> extern Display *XOpenDisplay( _Xconst char*     /* display_name
>>> */ ); Wieso kann dann folgendes Programm nicht kompiliert
>>> werden?
>> Vermutlich kann es compiliert(!) werden, aber nicht gelinkt.
> 
>>> #include <X11/Xlib.h> int main(void) { XOpenDisplay(NULL);
>>> return 0; } Laut eclipse ist in der Zeile XOpenDisplay(NULL);
>>> "undefined Reference to 'XOpenDisplay'".
> 
>> Dieser Fehler ist ein Linker-Problem, kein Compiler-Problem. 
>> Leider (vermute ich), geht bei der Verwendung allzu integrierter 
>> IDEs dieses Wissen um Präprozessor/Linker/Compiler etwas
>> verloren.
> 
> 
>>> Was ist da das Problem? Auch #include <X11/Xlib.h> int 
>>> main(void) { const char c = 'a'; XOpenDisplay(&c); return 0; }
> 
>> Vermutlich fehlt dem Linker eine Bibliothek.
> 
>>> führt zu dem selben Fehler. Bei #include 
>>> "usr/include/X11/Xlib.h"
> 
>>> heißt es dass es die Datei/Verzeichnis nicht gibt, obwohl es
>>> sie gibt.
> 
>> Wenn Du es genau so geschrieben hast, dann fehlt der erste Slash 
>> im Pfadnamen.  Und das ist ein Problem für den Präprozessor,
>> nicht für den Compiler :)
> 
>> Warum verwndest Du plötzlich "" statt <>? Der Präprozessor 
>> behandelt beides unterschiedlich.
> 
>> Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko 
>> Schlittermann
> 
> Ok. Und was muss ich machen damit es funktioniert?
> 
> 
> 
Wenn ich das #include<X11.Xlib.h> weglasse und stattdessen via Str + C
und Str + V den Inhalt der Datei Xlib.h in meine test.c reinkopiere
gibt es immer noch den Selben Fehler.
- -- 
Volker Weißmann
volker.weissmann@gmx.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQEcBAEBAgAGBQJSuadxAAoJEKyEg6S0jVz8j9oH+wfMeYW0Cr3O6qpmPWiPJYYa
BfMsNdejY5qaRqQOx06tXGpMSMJEdxgs+VtZiqzg5UAK9XeDqcUtROuDsMYy/ZJ4
3HqTEP13maoPxbxEK+q9TIyZZ1h3COJh73NiqOlNYjFRCDciCJEVSxMhcafMjkXF
gmDEwX8YQnkC+HOQURId26392lobNXP3hvnzX3FElOb2Z5Ra0ZHIo5BGQpMwpOho
hdaC3zAP9IfhGQuFPSAbM1TQezZ1/B1TOmACP0lrGqJbYNXAiBsYhwSWjBVmCbQW
sf1sKPUWMA46WGaZyzWZaREiFGSKrITYk22EyAtA6fI9UK2vXSw1cgHliNtsFAA=
=4x1o
-----END PGP SIGNATURE-----


Reply to: