отсутствующие линкеры в Qt

Я скачал этот проект https://github.com/owncloud/sync-qt и сделал некоторая его модификация. Я добавил эти файлы https://github.com/frankosterfeld/qtkeychain и sqlite3.h из-за недостающие библиотеки

Теперь проблема в том, что у меня есть эти проблемы:

  • ошибка: не могу найти -lqtkeychain
  • ошибка: не могу найти -lsqlite3
  • ошибка: не удается найти -lkparts
  • ошибка: не могу найти -lkdeui
  • ошибка: не могу найти -lkdecore
  • ошибка: collect2: ошибка: ld вернул 1 статус выхода

Моя ОС — Fedora 18 64-битная. Я использую Qt Creator 2.5.0 на основе Qt 4.8.2 (64-битная)

Я думаю, что эта ошибка в том, что у меня отсутствуют некоторые компоновщики! но я не знаю как это исправить??


person Ibrahim MAATKI    schedule 27.02.2013    source источник
comment
У меня нет опыта работы с Fedora, но сообщение об ошибке в основном говорит вам, что компоновщик не может найти libqtkeychain.so, libsqlite3.so и т. д. Возможно, вам нужно установить эти библиотеки (или dev-пакеты этих библиотек).   -  person bjoernz    schedule 27.02.2013
comment
сэр @bjoernz, пожалуйста, вы знаете, как это сделать ?? Потому что я не нашел ничего, что могло бы помочь в установке отсутствующих библиотек.   -  person Ibrahim MAATKI    schedule 27.02.2013


Ответы (1)


Отсутствуют не «компоновщики», а некоторые (разрабатываемые) библиотеки, которые необходимы для компоновки конечного исполняемого файла (компоновщик берет объектные файлы, созданные из ваших исходников, и все необходимые библиотеки и связывает их вместе для создания окончательного исполняемого файла).

Вам нужно убедиться, что установлены необходимые пакеты -devel - например. для библиотек kde необходимо установить kdelibs4-devel. Поскольку вы смогли скомпилировать исходники, кажется, что эти пакеты уже доступны в вашей системе (они также содержат файлы #include, так что без них компиляция уже не удалась бы).

Похоже, что в Fedora эти библиотеки хранятся ниже /usr/lib/kde4/devel/ (или /usr/lib64/kde4/devel/) — проверьте наличие этих файлов (например, /usr/lib64/kde4/devel/libkdecore.so). Если нет, установите соответствующий пакет -devel, например

# yum install kdelibs4-devel
person Andreas Fester    schedule 27.02.2013
comment
Я думаю, что их нет! А для остальных @Andreas ?? Можете ли вы дать мне, может быть, ссылку или способ исправить это ?? я имею в виду, когда у меня есть пропавшая библиотека, есть ли место, где я могу ее найти ??? - person Ibrahim MAATKI; 27.02.2013
comment
теперь это исправило 3 отсутствующие библиотеки, но 2 других я не знаю, в какой пакет разработки они включены @Andreas - person Ibrahim MAATKI; 27.02.2013
comment
Обычно в подобных случаях я сначала пользуюсь Google ;) Есть также некоторые поисковые сайты rpm, такие как rpm.pbone.net - пакеты devel обычно имеют то же (или очень похожее) имя, что и соответствующий пакет среды выполнения, с добавлением -devel. В случае с sqlite3 я нашел sqlite-devel на rpm.pbone.net. - person Andreas Fester; 27.02.2013
comment
И, в случае qtkeychain, я предполагаю, что вам нужно удалить эту библиотеку из вашего проекта, так как вы добавили соответствующие исходные файлы из git непосредственно в ваш проект, насколько я понимаю - person Andreas Fester; 27.02.2013
comment
спасибо, сэр, это было очень полезно, большое спасибо, вы только что спасли мне жизнь, большое спасибо - person Ibrahim MAATKI; 27.02.2013