问题 glui / usr / bin / ld:找不到-lXmu


我已经下载了最新的GLUI 源代码 现在我正在尝试编译它。当我这样做时,我收到以下错误:

g++ -O0 -Wall -pedantic -I./ -I./include -I/usr/X11R6/include -o bin/example1 example/example1.cpp  -L./lib -lglui -L/usr/X11R6/lib/libXdmcp.a -lglut -lGLU -lGL -lXmu -lXext -lX11 -lXi -lm
/usr/bin/ld: cannot find -lXmu
collect2: ld returned 1 exit status

当我做了一个 locate libXmu,我得到以下输出:

> %:~/src/GLUI/src$ locate libXmu 
> /usr/lib/libXmu.so.6
> /usr/lib/libXmu.so.6.2.0
> /usr/lib/libXmuu.so.1
> /usr/lib/libXmuu.so.1.0.0

我收到错误是因为我没有/usr/lib/libXmu.so吗?如果是这种情况,我该怎么做? (我根本没有链接经验)。

谢谢!


3517
2018-05-06 00:38


起源



答案:


Linux发行版通常将运行程序所需的库与构建程序所需的文件分开打包。

查找名为* -devel或* -dev的包。

我不知道你需要哪一个,但你可以使用apt-cache搜索来查找它。


6
2018-05-06 00:50



sudo apt-get install libxmu-dev libxmu-headers - Salami


答案:


Linux发行版通常将运行程序所需的库与构建程序所需的文件分开打包。

查找名为* -devel或* -dev的包。

我不知道你需要哪一个,但你可以使用apt-cache搜索来查找它。


6
2018-05-06 00:50



sudo apt-get install libxmu-dev libxmu-headers - Salami


答案实际上是最初的一个,但主人删除了它,似乎。我能够通过创建指向最新版本库的符号链接来解决问题(即 /usr/lib/libXmu.so.6)并成功编译代码。


6
2018-05-14 15:22



谢谢。对于我的64位Ubuntu 12.04,我使用了这个命令:'sudo ln -s /usr/lib/x86_64-linux-gnu/libXmu.so.6 /usr/lib/libXmu.so' - Shervin Emami


我有同样的问题,如果创建一个符号链接没有帮助, 尝试以下方法:

  1. 打印$ PATH(“echo $ PATH”), 并检查您需要的库文件是否在其中一个目录中。 使用“export PATH = / newly / added / path:$ PATH”添加要检查的新目录。
  2. 我一直在包括libevent,在gcc命令中添加了“-levent”,并且ld使用了文件/usr/lib/libevent.so,所以看起来ld会自动添加“lib”前缀和扩展名。

保持。


0
2017-10-16 14:49