没有将目标设置为/usr/lib/libX11.so的规则

No rule to make target /usr/lib/libX11.so

本文关键字:libX11 lib so 规则 usr 目标 设置      更新时间:2023-10-16

我正在使用库SFML编写一个程序,它需要libX11。我最近刚从旧版本升级到ubuntu 11.04,从那以后我就无法编译我的程序了。我得到以下错误:

make[3]: *** No rule to make target `/usr/lib/libX11.so', needed by `lib/libsfml-window.so.2.0.0'.  Stop.

我想,当我升级Ubuntu时,该软件包可能因为某种原因被卸载了,但根据Synaptic的说法,我有libX11-dev(我只是假设这是我应该寻找的,但我可能错了)。

编辑:

运行apt-get install libx11-dev会给出以下输出:

sudo apt-get install libx11-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libx11-dev is already the newest version.
  g++-4.4 libstdc++6-4.4-dev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.

使用--reinstall标志运行会得到以下结果:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  g++-4.4 libstdc++6-4.4-dev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 32 not upgraded.
Need to get 0 B/3,104 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 279595 files and directories currently installed.)
Preparing to replace libx11-dev 2:1.4.2-1ubuntu3 (using .../libx11-dev_2%3a1.4.2-1ubuntu3_i386.deb) ...
Unpacking replacement libx11-dev ...
Processing triggers for man-db ...
Setting up libx11-dev (2:1.4.2-1ubuntu3) ...

我只需要一个简单的make clean。我仍然不清楚更新之间发生了什么,但当我从头开始重建项目时,一切都会编译并工作。