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

时间:2010-05-06 00:38:24

标签: linux ubuntu makefile linker ld

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

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?如果是这种情况,我该怎么做? (我根本没有链接经验。)

谢谢!

3 个答案:

答案 0 :(得分:6)

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

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

的包

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

答案 1 :(得分:6)

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

答案 2 :(得分:0)

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

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

    坚持下去。