Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cmake не находит библиотеку. 
:(
    Опции темы
Хоббит
Дата 25.4.2011, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



ОС Linux. Система сборки cmake

В подпроекте использую библиотеку mysqlclient.

Для этого в CMakeLists.txt добавил
Код

target_link_libraries(mysqlclient)


При этом библиотека находится по пути /usr/lib/libmysqlclient.so
И все работает.

На другой же системе библиотека mysql установлена по другому пути /usr/lib/mysql/libmysqlclient.so
И при сборке вылетает ошибка, что библиотека не найдена.

Раньше в automake проектах я добавлял опции компилятора -L/usr/lib/mysql

Как сделать в cmake проекте, чтобы эта библиотека подключалась?


PM MAIL   Вверх
bsa
Дата 25.4.2011, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Хоббит, открой документацию на find_library. Заведи спец переменную, в которую на этапе конфигурирования нужно помещать дополнительные пути поиска библиотек. И используй ее в find_library. При конфигурировании на второй машине задай -D<переменная>="/usr/lib/mysql", и find_library найдет тебе библиотеку. Более того, возможно, mysqlclient прописана в pkg_config. Тогда вообще все просто.
PM   Вверх
kemiisto
Дата 25.4.2011, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Вообще, стыдоба то какая!

Хоббит, я не тебе. smile Я в целом про отрасль. 21 век, а нормальной кросс-платформенной системы сборки... Днём с огнём.

CMake уныл. Старый, как ### мамонта. Весь какой-то насквозь сишечный, тугой, неповоротливый, страшный. Фи, быть таким. smile 

Я как-то откопал хоть что-то свежее. SCons зовётся. Оно и синтаксически приятнее, и мощнее в разы. Если чего-то нет "искаропки" - берём и ###кодим на пистоне. smile 

Но оно тоже не совсем айс, бо на пистоне и написано. Багов хоть лопатой отгребай. smile  


--------------------
PM MAIL WWW GTalk Jabber   Вверх
xvr
Дата 26.4.2011, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(kemiisto @  25.4.2011,  23:27 Найти цитируемый пост)
Я как-то откопал хоть что-то свежее. SCons зовётся.

Если вы не говорите на Python'е лучше, чем на Русском - не советую (мое IMHO)  smile 

PM MAIL   Вверх
bsa
Дата 26.4.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



CMake убог. Причем, до ужаса. Изначально идея хорошая, вот только реализация так себе - у разных функций параметры передаются по-разному. Запомнить толком невозможно.
GNU/autotools, имхо, лучше. Вот только с ними на других платформах, где нет *nix-окружения, довольно туго - необходимо его доустанавливать.
Scons требует для своей работы python. В *nix, он есть чуть ли не по умолчанию, а вот под всем известной платформой надо ставить...
boost-build - ну это вообще какие-то красноглазики придумали! Такой уродец - хрен настроишь! ИМХО.
Makefile - слишком гиморно писать. Да и зависимости не проверяет
KBuild - с точки зрения пользователя - шикарный. С точки зрения программиста - не изучал.
PM   Вверх
xvr
Дата 26.4.2011, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(bsa @  26.4.2011,  17:14 Найти цитируемый пост)
boost-build - ну это вообще какие-то красноглазики придумали! Такой уродец - хрен настроишь! ИМХО.

Ооо! Ааа! Это нечто, неописуемое! Это надо было додуматься, что <some>another и <some> another обозначают совершенно разные вещи!
В общем полный апофигей!

Цитата(bsa @  26.4.2011,  17:14 Найти цитируемый пост)
Makefile - слишком гиморно писать. Да и зависимости не проверяет

Да, писать несколько гиморно. Но gnu make весьма и весьма мощная вещь. Зависимости проверяет, но [сам] не строит - это отдается на откуп gcc. Главный недостаток - для сложных систем вырождается в монстра, плодящегося с помощью makefile'ов по всем доступным директориям. При этом разобраться что там к чему бывает довольно сложно  smile 



PM MAIL   Вверх
bsa
Дата 26.4.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Цитата(xvr @  26.4.2011,  21:03 Найти цитируемый пост)
Зависимости проверяет, но [сам] не строит - это отдается на откуп gcc.

ну это я и имел в виду.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.