I am using GCC, what switches do I need to add to link with Xlib? After searching, all I could find was -lX11
, but that gave me ld: library not found for -lX1
You also need -L/usr/X11/lib
. It's not exactly Mac-specific, but you will find that the location of these libs will vary a bit from system to system.
You'd be surprised, but sometimes -L/usr/X11R6/lib -lX11
is the answer -_-.
You can usually use pkg-config to determine the flags you need to pass:
gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
Ubuntu 12.10 (And probably others) require sudo apt-get install libx11-dev
.
$ locate libX11
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.2.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.a
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.2.0.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.dylib
/usr/X11/lib/libX11.6.2.0.dylib
/usr/X11/lib/libX11.6.dylib
/usr/X11/lib/libX11.dylib
/usr/X11/lib/libX11.la
I'd try
gcc [...] -L/usr/X11/lib -lX11 [...]
to set the search path for libraries.