Ubuntuで https://unix.stackexchange.com/a/228674 をコンパイルしようとしました。
残念ながら次のエラーが発生します:
/tmp/find-cursor$ make
cc find-cursor.c -o find-cursor -lX11
find-cursor.c:19:39: fatal error: X11/extensions/Xcomposite.h: No such file or directory
#include <X11/extensions/Xcomposite.h>
^
compilation terminated.
make: *** [all] Error 1
私は次の容疑者で試しました:
$ Sudo apt-get install libxtst-dev libxss-dev libxtst6-dbg libxext6-dbg libxss1-dbg
しかし、コンパイルにはまだ運がありません。便利なスニペットを次に示します。
Sudo apt-get install Mercurial
cd /tmp
hg clone https://bitbucket.org/Carpetsmoker/find-cursor
cd find-cursor
make
FTR:上記のコードをコンパイルするには:Sudo apt-get install libxcomposite-dev libxdamage-dev libxrender-dev
とMakefileのccに-std=gnu99
フラグを追加する必要がありました
不足しているファイルでコンパイルが失敗するたびに、インフラストラクチャを利用して、不足しているubuntuパッケージを検索します
apt-file search X11/extensions/Xcomposite.h # cmd 1
で戻ります
libxcomposite-dev: /usr/include/X11/extensions/Xcomposite.h
解決策は、不足しているパッケージをインストールすることです
Sudo apt install libxcomposite-dev # cmd 2
この手法は、欠落しているファイル全体で機能します
あなたが発行する場合、新鮮なOS上で
apt-file search X11/extensions/Xcomposite.h
エラーで失敗します
The program 'apt-file' is currently not installed. To run 'apt-file' please ask your administrator to install the package 'apt-file'
これは、ローカル検索キャッシュを一度だけセットアップする必要があるので、実行するだけです
Sudo apt install apt-file -y
Sudo apt-file update
上記の検索を再発行し(cmd 1)、パッケージをインストールします(cmd 2)
http://packages.ubuntu.com/ では、ファイルを含むパッケージを検索できます。
X11/extensions/Xcomposite.h
を検出するlibxcomposite-dev
の場合