2009-03-28 7 views

答えて

2

-lオプションは、ライブラリの名前を引数として取ります。この場合、ライブラリの名前はlibXi.a(またはlibXi.soなど)です。あなたのディストリビューションで利用可能な標準ライブラリの場所(/ usr/lib、/ lib、/ usr/local/libなど)でライブラリの外観を見つける。また、リンカーに-Lオプションを使用して追加のライブラリディレクトリを指定することもできます。

0

あなたのプログラムが正常にコンパイル、またはあなたが-lXiを使用する別のプログラムを持っている場合、その後、あなたが行うことができる場合:たとえば

ldd /path/to/that/program | grep libXi 

を:

$ ldd /usr/X11R6/bin/audacity | grep libXi 
     libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f53faaba000) 
     libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f53f8e2c000) 

そして、それは最も可能性が高いことを教えてくれますそのライブラリはです。 (構築プロセスが検索パスを変更する可能性があるため、100%ではありませんが、通常はX11などの標準ライブラリではそうではありません)

そこから、あなたが気にしている場合、 Ubuntuの上の例やの.debベースのディストリビューションの場合:あなたはLDDを使用できない場合

$ dpkg --search /usr/lib/libXi.so.6 
libxi6: /usr/lib/libXi.so.6 

、その後、チェックランタイム共有ライブラリのリンクの検索パスを表示しますお使いのシステムの/etc/ld.so.conf。 (。/lib /及び/usr/libがデフォルトで含まれています)

最悪の場合、あなたはそれを見つけることができます:出力であるlibXiため

find/-regex '.*libXi\.\(a\|so\).*' 2> /dev/null 
0
strace -f -e open gcc ... -lXi 

ルック。