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: