glui / usr / bin / ld: не могу найти -lXmu - PullRequest
11 голосов
/ 06 мая 2010

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

Спасибо!

Ответы [ 3 ]

6 голосов
/ 14 мая 2010

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

6 голосов
/ 06 мая 2010

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

Поиск пакетов с именем * -devel или * -dev.

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

0 голосов
/ 16 октября 2013

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

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

Так держать.

...