![]() |
|
Модераторы: xvr |
![]()
|
|
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
ОС Linux. Система сборки cmake
В подпроекте использую библиотеку mysqlclient. Для этого в CMakeLists.txt добавил
При этом библиотека находится по пути /usr/lib/libmysqlclient.so И все работает. На другой же системе библиотека mysql установлена по другому пути /usr/lib/mysql/libmysqlclient.so И при сборке вылетает ошибка, что библиотека не найдена. Раньше в automake проектах я добавлял опции компилятора -L/usr/lib/mysql Как сделать в cmake проекте, чтобы эта библиотека подключалась? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
Хоббит, открой документацию на find_library. Заведи спец переменную, в которую на этапе конфигурирования нужно помещать дополнительные пути поиска библиотек. И используй ее в find_library. При конфигурировании на второй машине задай -D<переменная>="/usr/lib/mysql", и find_library найдет тебе библиотеку. Более того, возможно, mysqlclient прописана в pkg_config. Тогда вообще все просто.
|
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Вообще, стыдоба то какая!
Хоббит, я не тебе. CMake уныл. Старый, как ### мамонта. Весь какой-то насквозь сишечный, тугой, неповоротливый, страшный. Фи, быть таким. Я как-то откопал хоть что-то свежее. SCons зовётся. Оно и синтаксически приятнее, и мощнее в разы. Если чего-то нет "искаропки" - берём и ###кодим на пистоне. Но оно тоже не совсем айс, бо на пистоне и написано. Багов хоть лопатой отгребай. -------------------- |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
CMake убог. Причем, до ужаса. Изначально идея хорошая, вот только реализация так себе - у разных функций параметры передаются по-разному. Запомнить толком невозможно.
GNU/autotools, имхо, лучше. Вот только с ними на других платформах, где нет *nix-окружения, довольно туго - необходимо его доустанавливать. Scons требует для своей работы python. В *nix, он есть чуть ли не по умолчанию, а вот под всем известной платформой надо ставить... boost-build - ну это вообще какие-то красноглазики придумали! Такой уродец - хрен настроишь! ИМХО. Makefile - слишком гиморно писать. Да и зависимости не проверяет KBuild - с точки зрения пользователя - шикарный. С точки зрения программиста - не изучал. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Ооо! Ааа! Это нечто, неописуемое! Это надо было додуматься, что <some>another и <some> another обозначают совершенно разные вещи! В общем полный апофигей! Да, писать несколько гиморно. Но gnu make весьма и весьма мощная вещь. Зависимости проверяет, но [сам] не строит - это отдается на откуп gcc. Главный недостаток - для сложных систем вырождается в монстра, плодящегося с помощью makefile'ов по всем доступным директориям. При этом разобраться что там к чему бывает довольно сложно |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
||||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |