2013-01-14 11 views
11

にそのようなファイルまたはディレクトリ:「X11/Xlib.h」:私は簡単なプログラムをコンパイルしたとき、私はこの出くわしたMAC OS Xのマウンテンライオン

#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、私はxQuartzインストールされています。 "g ++ -o ex ex.cpp -L/usr/X11R6/lib -lX11"コマンドでこのプログラムをコンパイルします。

+1

xQuartzにはヘッダーが付いていますか?それらを個別にインストールする必要があるかもしれません。 –

+0

XCode用の「コマンドラインツール」パッケージをインストールしましたか? '/ usr/include/X11'のヘッダーはそれと共に配布されるかもしれません。 –

答えて

12

あなたが使用してコンパイルする必要があります。

g++ -o ex ex.cpp -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 

X11ヘッダはxQuartzにインストールされていますが、あなたはそれが/opt/X11にインストールxQuartz、および/usr/X11/usr/X11R6をインストールする場合は、明示的

それらを参照する必要がありますこの場所へのシンボリックリンク

22

X11フォルダへのシンボリックリンクを追加する必要があります:

sudoのLN -sは/ opt/X11 /含める/ X11は/ usr/local /含める/ X11

私の場合、私はusr/local下のディレクトリを含めなければなりませんでした。

+0

恐ろしい!これは私のためにやった。投稿していただきありがとうございます。 – Malcolm

+0

私のためにそれを解決しました! –

2

このソリューションは、私にとってはMavericksのruby-1.9.3-p362のために働いていました。

sudo ln -s /opt/X11/include/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/ 
関連する問題