I came across this when I was compiling a simple program:
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
Display* display;
int main(){
display = XOpenDisplay("");
if (display == NULL) {
printf("Cannot connect\n");
exit (-1);
}
else{
printf("Success!\n");
XCloseDisplay(display);
}
}
FYI, I have xQuartz installed. I compile this program with "g++ -o ex ex.cpp -L/usr/X11R6/lib -lX11" command.
You may need to add symbolic link to X11 folder by:
sudo ln -s /opt/X11/include/X11 /usr/local/include/X11
In my case, I had to make include directory under usr/local
.
you need to compile with:
g++ -o ex ex.cpp -I/usr/X11R6/include -L/usr/X11R6/lib -lX11
the X11
headers are installed with xQuartz
, but you need to reference them explicitly
If you install xQuartz
it installs into /opt/X11
, and /usr/X11
and /usr/X11R6
are symlinks to this location
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With