LINUX.ORG.RU

Qt/Cpp как прилинковать либу ?


0

0

Товарищ изучает $subj и спросил как добавить либу (на cpp) в проект, не линковаться с той что установлена в системе, а поставлять вместе с проектом. Иначе говоря, вот у него хеловорлд и он хочет заюзать в нем QtSoap, а поскольку он с стандартную поставку пока не входит надо его положить в проект, так чтобы собирался под линукс и оффтопик хотяб. Ну и чтобы инклудилась, классы объявлялись, объекты создавались. Извините я в вопросе плаваю, впрочем как и он:) Билдсистема - qmake.

★★★★★

С тасканием библиотек по принципу "всё своё с собой" в линуксе не очень. Единственное что приходит в голову: линковаться с библиотекой, установленной в системе, затем скопировать её в папку с бинарником программы, а запускать эту конструкцию простым скриптом, который устанавливает LD_LIBRARY_PATH на папку с библиотекой, а затем уже запускает бинарник.

Deleted
()
Ответ на: комментарий от Spectr

там больше про сам Qt и плагины, все что нужно это думаю пример <MyApp>.pro c правильно подключенной зависимостью которая лежит вместе с проектом и цепляется инклудом собираясь вместе с ним, этого я ни в доках ни в гугле найти не могу, наверно это настолько очевидно, что никто про это не пишет

Syncro ★★★★★
() автор топика

Первый ответ правильный

Правильнее всего сделать пакет с зависимостями, а если надо, сделать покет для QtSoap

namezys ★★★★
()
Ответ на: комментарий от namezys

Если _прочитать_ статью по второй ссылке, то там это просто банально разжовано и положено в рот, во всех вариациях решения.

Spectr ★★★
()

LIBS += -L /путь -l:library-name.so.one.two.three
INCLUDEPATH += путь_к_хедерам

если нужно для конкретной платформы что-то отдельное, то можно примерно так:

linux-g++ {
     LIBS += чё-нибудь
}

win32: {
     SOURCES += ещё_чё-нибудь
}

devinull ★★
()
Ответ на: комментарий от Deleted

Если при линковке задать rpath - все нормально подцепится из каталога с программой.

YesSSS ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.