GCCを使用していますが、Xlibとリンクするにはどのスイッチを追加する必要がありますか?検索した後、私が見つけたのは-lX11
、でしたが、それは私に与えましたld: library not found for -lX11
私はMac(10.6)を使用していますが、Mac固有のものは必要ありません。
pkg-config
通常、渡す必要があるフラグを決定するために使用できます。
gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
$ 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
やってみます
gcc [...] -L/usr/X11/lib -lX11 [...]
ライブラリの検索パスを設定します。
驚かれるかもしれませんが、時々答え-L/usr/X11R6/lib -lX11
は-_-です。
また、が必要-L/usr/X11/lib
です。これはMac固有のものではありませんが、これらのライブラリの場所はシステムごとに少し異なることがわかります。
Ubuntu 12.10 (およびおそらく他のもの) では require が必要ですsudo apt-get install libx11-dev
。