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? Если это так, как я могу это сделать? (Я вообще не испытываю привязки).

Спасибо!

Ответ 1

Ответ был на самом деле одним из первых здесь, но владелец удалил его, похоже. Я смог решить проблему, создав символическую ссылку на последнюю версию библиотеки (т.е. /usr/lib/libXmu.so.6) и скомпилировав код успешно.

Ответ 2

Linux-дистрибутивы обычно упаковывают библиотеки, необходимые для запуска программ отдельно от файлов, необходимых для сборки программ.

Ищите пакеты с именем * -devel или * -dev.

Я не знаю, для чего вам это нужно, но вы можете использовать поиск apt-cache для его поиска.

Ответ 3

У меня была такая же проблема, если создание символической ссылки не помогает, попробуйте следующее:

  • Распечатайте $PATH ( "echo $PATH" ), и проверьте, нужен ли файл библиотеки в одном из этих каталогов. Используйте "export PATH =/new/added/path: $PATH", чтобы добавить новый каталог для проверки.
  • Я включил libevent, добавил "-levent" в команду gcc и ld использовал файл /usr/lib/libevent.so, поэтому он выглядит так, что префикс и расширение "lib" автоматически добавляются ld.

Продолжайте.