Как скомпилировать с FLTK под Ubuntu
Я использую Code: блоки под Ubuntu 12.04 LTS. Я пытаюсь скомпилировать свою первую программу, используя FLTK, и получаю следующие ошибки.
Linking console executable: bin/Debug/<project name removed for security reasons>
/usr/bin/ld: cannot find -lXft
/usr/bin/ld: cannot find -lfontconfig
/usr/bin/ld: cannot find -lfontconfig
/usr/bin/ld: cannot find -lXinerama
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warnings
Есть ли что-то еще, что мне нужно установить, или путь, который мне нужно добавить?
4 ответа
Построить проект FLTK в Code::Blocks 16.01 на UBUNTU 16.04.
Установите FLTK и два дополнительных пакета:
$ sudo apt install fltk1.3-dev
$ sudo apt install libxft-dev
$ sudo apt install libxinerama-dev
После этого вы можете определить проект FLTK и построить его без проблем.
Если вы не установите пакеты libxft-dev и libXinerama-dev, вы действительно получите эти сообщения об ошибках, перечисленные в вопросе об отсутствующих библиотеках (-lXft, -lfontconfig, -lXinerama).
Причина, по которой эти пакеты не устанавливаются автоматически с помощью fltk1.3-dev, заключается в том, что они только "предложены", а не являются жесткой зависимостью. Это можно увидеть здесь:
Тем не менее, флаг 'fltk-config', который используется Code:Blocks, чтобы решить, в какие библиотеки ссылаться, требует их.
Подробнее о флаге fltk-config смотрите:
Руководство для начинающих по fltk-config
Для полноты вот ссылки на 2 дополнительных пакета:
Версия dev, используемая FLTK, может отсутствовать http://packages.ubuntu.com/precise/libfltk1.3.
Ты можешь использовать apt-get
чтобы установить их: libxft-dev, libfontconfig1-dev и libxinerama-dev.
Мне удалось получить код: блоки 13.12, работающие с FTLK на Raspberry Pi с использованием Raspian. CodeBlocks дал мне те же ошибки "не могу найти -lXft", "не могу найти -lfontconfig" и "не могу найти -lXinerama".
Я использовал программное обеспечение для добавления / удаления, поставляемое с Raspian, и искал каждую из следующих библиотек libxft-dev, libfontconfig1-dev и libxinerama-dev, а затем установил их с помощью менеджера пакетов. Когда я перезапустил кодовые блоки, FLTK работал нормально!
У вас явно не установлены libXft, libfontconfig и libXinerama на вашем компьютере. Если вы установили FLTK с помощью диспетчера пакетов Ubuntu, вы должны сообщить об отсутствующей информации о зависимостях в пакете FLTK.
Обычно мы делаем это, выясняя, кто является сопровождающим пакета, и отправляем электронное письмо этому человеку.