我已经下载了最新的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/www.example.com吗?如果是这样,我该如何创建一个呢?(我对链接完全没有经验)。libXmu.so? If this is the case, how can I make one? (I am not experienced with linking at all).
谢谢!
4条答案
按热度按时间rjee0c151#
Linux发行版通常将运行程序所需的库与构建程序所需的文件分开打包。
查找名为 *-devel或 *-dev的软件包。
我不知道你需要哪一个,但是你可以使用apt-cache搜索来查找它。
sbtkgmzw2#
答案实际上是这里最初的第一个答案之一,但似乎所有者删除了它。我能够通过创建一个指向最新版本库(iIndiee
/usr/lib/libXmu.so.6
)的符号链接来解决这个问题,并成功编译代码。at0kjp5o3#
我遇到了同样的问题,如果创建符号链接没有帮助,请尝试以下操作:
1.打印你的$PATH(“echo $PATH”),并检查你需要的库文件是否在其中一个目录中。使用“export PATH=/newly/added/path:$PATH”添加新的目录以进行检查。
1.我已经包括了libevent,在gcc命令中添加了“-levent”,ld使用了文件/usr/lib/libevent.so,所以看起来“lib”前缀和扩展名是由ld自动添加的。
保持下去。
twh00eeo4#
从Ubuntu 22.04开始(可能还有更早的版本),
libxmu6
包提供了以下文件(其中一个是符号链接):而包
libxmu-dev
提供了以下文件(实际上是一个符号链接):libXmu.so
符号链接是链接器将找到的内容(如果存在)。因此,要通过
apt
安装libXmu.so
符号链接,请运行以下命令(如上面@Salami所述):