Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Статическая линковка, внешней библиотеки через файл проекта qt
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
pirks
Всем добрый день!
Вот такой вопросик, есть проект QT, cамый обычный и есть статическая либка (*.a). Собственного изготовления. Написана на ANSI C.
Возникла потребность статически прилинковать к QT проекту.
В принципе ничего сложного, добавить её в make, но как приписать в QTшный файл проекта ?
Это возможно ?
AD
Цитата(pirks @ 27.7.2009, 14:08) *
В принципе ничего сложного, добавить её в make, но как приписать в QTшный файл проекта ?
Это возможно ?

Знаю точно, что возможно. :)

Скажи, какой компилятор?
pirks
Цитата(AD @ 27.7.2009, 14:18) *
Цитата(pirks @ 27.7.2009, 14:08) *
В принципе ничего сложного, добавить её в make, но как приписать в QTшный файл проекта ?
Это возможно ?

Знаю точно, что возможно. :)

Скажи, какой компилятор?


gcc version 4.3.2 (Debian 4.3.2-1.1)
kwisp
pirks,
QTшный файл проекта нужен для предварительной сборки инфы для изготовления makefile для сборки.
в assistant подробно описывается как добавляются библиотеки дефайны и прочее.
набери неполенись qmake manual d assistent`e -- всё узнаешь. :)
kuzulis
Ох уж эти халявщики :)

Вот типо так в *.pro :
INCLUDEPATH        += <директория где хранится инклюды либы>
QMAKE_LIBDIR    += <директория где находится либа>
LIBS            += -l<имя самой либы>
kwisp
Цитата(kuzulis @ 27.7.2009, 15:59) *
INCLUDEPATH += <директория где хранится инклюды либы>
QMAKE_LIBDIR += <директория где находится либа>
LIBS += -l<имя самой либы>

раз уж так то можно наверное и
так
INCLUDEPATH += <директория где хранится инклюды либы> 
LIBS += -L"<директория где находится либа>"
LIBS +=-l<имя самой либы>
kuzulis
:-)
pirks
Цитата(kwisp @ 27.7.2009, 16:07) *
Цитата(kuzulis @ 27.7.2009, 15:59) *
INCLUDEPATH += <директория где хранится инклюды либы>
QMAKE_LIBDIR += <директория где находится либа>
LIBS += -l<имя самой либы>

раз уж так то можно наверное и
так
INCLUDEPATH += <директория где хранится инклюды либы> 
LIBS += -L"<директория где находится либа>"
LIBS +=-l<имя самой либы>



Я не халявщик :rolleyes:
Я прочитал справку. Добавил эти директивы, но компилятор ругается. Сейчас разбираю, что не так.
В Makefile всё внеслось как положено. Однако ошибки типа undefined reference ...
Аналогичным способом я собирал обычный сишный прокет(без QT) с той же либой. А тут никак.
kwisp
Цитата(pirks @ 27.7.2009, 16:32) *
Я не халявщик :rolleyes:


конечно нет.
вон у тебя как сокеты Qtшные работают заглядение:)
Litkevich Yuriy
кто скрывал сообщение kwisp'а?
kwisp
Цитата(Litkevich Yuriy @ 27.7.2009, 17:18) *
кто скрывал сообщение kwisp'а?


та это AD не правильно понял меня.

П.С.
я не против если кто-то скрывает спорные сообщения(он подумал я припоминаю pirks`у посты в его прошлой теме о сокетах, я же наоборот пытался указать на то, до чего pirks скурпулезно докоапался). по-моему, пустяковое дело. ничего страшного не произошло.
pirks
Цитата(kwisp @ 27.7.2009, 18:58) *
Цитата(Litkevich Yuriy @ 27.7.2009, 17:18) *
кто скрывал сообщение kwisp'а?


та это AD не правильно понял меня.

П.С.
я не против если кто-то скрывает спорные сообщения(он подумал я припоминаю pirks`у посты в его прошлой теме о сокетах, я же наоборот пытался указать на то, до чего pirks скурпулезно докоапался). по-моему, пустяковое дело. ничего страшного не произошло.


тема про сокеты не закрыта, корректно работают только неблокирующие сокеты.
И перед тем как писать я не мало прочитал про них. )
pirks
Кстати я по ходу дела. ещё на одну сложность наткнулся, может кому интересно. Если использовать хедеры от либки ANSI C в C++ то необходимо добавить дерективу
extern "C" {


Как то так )
#ifdef __cplusplus
extern "C" {
#endif
// Здесь идут определения функций
#ifdef __cplusplus
}
#endif



Всем спасибо, тему можно считать закрытой )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.