Сборка чужого проекта с помощью CMake, cmake + taglib |
Здравствуйте, гость ( Вход | Регистрация )
Сборка чужого проекта с помощью CMake, cmake + taglib |
Denzel |
20.2.2010, 1:21
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 22.1.2010 Пользователь №: 1395 Спасибо сказали: 0 раз(а) Репутация: 0 |
По совету модератора выношу в отдельную тему из этого топика.
Задачка: Заставить проект Qt работать с библиотекой taglib. Имеются исходники (~1mb) библиотеки для работы с тегами аудио файлов. На оффсайте написано, что сборка под win осуществляется через cmake. Собственно просьба: более менее подробно расписать как собрать из исходников библиотеку ну и всю эту радость прикрутить к проекту. Заранее спасибо. PS. На машине установлен голый cmake, так что если требуется какая-либо дополнительная его настройка, не поленитесь объяснить как "допилить". |
|
|
Litkevich Yuriy |
20.2.2010, 8:41
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
при сборке CMake'ом необходимо обратить внимание на такие особенности (отличия от распространённого подхода с qmake):
1) отдельный каталог для исходников 2) отдельный каталог для make-файлов и прочих служебных штук 3) отдельный каталог для результатов сборки. Тепрь, требования (Н.У.): 1) пути как обычно - без пробелов 2) В переменной окружения PATH, должно быть видно Qt и компилятор 3) Придумай такую структуру каталогов (это не обязательно, это я так делаю): - path/to/lib/src - в этом каталоге должен лежать файл CMakeLists.txt (созданный авторами библитеки) - path/to/lib/tmp - path/to/lib/build Конфигурация: 1) Запусти программу path/to/cmake/bin/cmake-gui.exe ** Если появится диалог настройки компилятора, то выбери подходящий (напимер, "MinGW Makefiles - Use default native compiller") 2) В основном окне, в поле ввода "Where is the source code" укажи путь к path/to/lib/src 3) В основном окне, в поле ввода "Where to build the binares" укажи путь к path/to/lib/tmp (я не перепутал) 4) Ниже, в выпадающем списке, выбери "Simple View" 5) Нажми кнопку "Configure" ** Если появится диалог настройки компилятора, то выбери подходящий (напимер, "MinGW Makefiles - Use default native compiller") 6) Обычно после такой настройки появляются красный поля - недостающая информация, её нужно дополнить. ** Нужно ввести следующие данные (см. всплывающие подсказки у полей): *** CMAKE_BUILD_TYPE - может принимать одно из значений Release или Debug *** CMAKE_INSTALL_PREFIX - наш путь path/to/lib/build *** и остальные, информацией на которые располагаешь 7) Ещё раз нажми кнопку "Configure" ** Если кнопка "Generate" не появилась, то повтори процедуру заполнения красных полей, ну и не забывай читать лог в нижней части (в первую очередь красный текст) 8 ) После завершения генерации, можешь закрыть CMake-GUI и запустить командную строку 9) Перейди в каталог path/to/lib/tmp 10) Скомандуй make, начнётся компиляция/сборка 11) Скомандуй make install, вновь созданный бинари будут скопированы в path/to/lib/build ВСЁ! |
|
|
Denzel |
20.2.2010, 18:47
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 22.1.2010 Пользователь №: 1395 Спасибо сказали: 0 раз(а) Репутация: 0 |
Что-то никак не получается собрать, думаю малость совсем осталось:
Cmake-Gui выдает следующее:
(Подробности настройки см. на скрине) Не понял только за что отвечают опции LIBRARY_OUTPUT_PATH и EXECUTABLE_OUTPUT_PATH, решил сунуть туда просто пустые папки (опять же, см. скрин), посмотреть что сгенерит, однако до этого не доходит... |
|
|
Litkevich Yuriy |
20.2.2010, 18:57
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Denzel |
20.2.2010, 19:31
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 22.1.2010 Пользователь №: 1395 Спасибо сказали: 0 раз(а) Репутация: 0 |
Жирным выделен проблемный кусок кода. (строка 206 это: INSTALL(TARGETS tag)) |
|
|
Litkevich Yuriy |
21.2.2010, 6:18
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Жирным выделен в тэге code ни какое форматирование не работает, кроме ассоциированной автоматической подсветки кодакак я понял нужно задать три переменные (LIB_INSTALL_DIR, BIN_INSTALL_DIR, LIB_INSTALL_DIR), если ты поменяешь в CMake-GUI способ отображения с "Simple View" на "Grouped View", то наверное ты увидишь эти переменные и сможешь их ввести |
|
|
novichkov |
2.4.2010, 20:51
Сообщение
#7
|
Студент Группа: Участник Сообщений: 64 Регистрация: 20.3.2008 Из: Северодвинск Пользователь №: 128 Спасибо сказали: 6 раз(а) Репутация: 1 |
Мне каким-то чудом удалось несколько месяцев назад скомпилировать taglib 1.6.1 в Windows, помню только, что потратил часа три. Могу выложить скомпиленную библиотеку, хотя и понимаю, что здесь главное самому разобраться.
|
|
|
Текстовая версия | Сейчас: 28.11.2024, 20:05 |