Russian Qt Forum
Май 03, 2024, 13:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Creator - не могу добавить к проекту внутреннюю (Internal) библиотеку  (Прочитано 3860 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Декабрь 21, 2017, 14:47 »

Имею Qt 5.9.2 и Qt Creator 4.4.1, Linux Debian 64 bit

Пытаюсь сделать все по вот этой статье: https://toster.ru/q/168437

Сделал основной проект в каталоге, например QGumboParserSampleSrc. В нем создал через git подкаталог lib, в котором лежит QGumboParser.pro, README.md и прочее.

В проекте *.pro прописал:

Код:
SUBDIRS += libs/QGumboParser

Далее нажимаю ПКМ на заголовке проекта, выбираю «Добавить библиотеку». Выбираю «Внутренняя», и мне открывается вот такое окно:

http://i.piccy.info/i9/8448938026d6329ecae1216192b41a8c/1513855996/64066/1202516/scr0034.png

Поле «Библиотека» не разворачивается, оно может быть только пустым. Поле «Путь к заголовочным файлам» заполнял всеми возможным способами - указывал (через выбор директории) и lib, и lib/QGumboParser и lib/QGumboParser/gumbo-parser и lib/QGumboParser/gumbo-parser/src. Но какой каталог не указывай, поле «Библиотека» не заполняется, и видимо из-за этого не нажимается кнопка «Далее».

Я подумал, может нужны объектники, и запустил в каталоге lib

Код:
qmake QGumboParser.pro
make

Собралось без ошибок. Но после этого тоже ничего не поменялось: подключить библиотеку не могу.

Как ее вообще подключать?
Записан

Собираю информацию по крупицам
http://webhamster.ru
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #1 : Декабрь 21, 2017, 16:41 »

Кароч, подключить либу к проекту через интерфейс не удалось.

Вместо этого пришлось создать следующее:

1. Перенести всё содержимое файла QGumboParserSample.pro в новый файл app.pro
2. А содержимое файла QGumboParserSample.pro сделать таким:

Код:
TEMPLATE = subdirs
SUBDIRS += lib/QGumboParser \
    app.pro

То есть, пришлось создать "общий" файл, а из него уже подключить и файл проекта app.pro и каталог библиотеки.

Чтобы шла нормальная линковка, содержимое файла app.pro стало таким:

Код:
QT -= gui
QT += network

CONFIG += c++11 console
CONFIG -= app_bundle

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += main.cpp

LIBS += -L./lib/QGumboParser -lQGumboParser

Так же в исходниках не подключились файлы

Код:
#include <qgumbodocument.h>
#include <qgumbonode.h>

поэтому пришлось написать вот так:

Код:
#include <./lib/QGumboParser/qgumbodocument.h>
#include <./lib/QGumboParser/qgumbonode.h>
Записан

Собираю информацию по крупицам
http://webhamster.ru
zhbr
Гость
« Ответ #2 : Декабрь 22, 2017, 07:01 »

Цитировать
Так же в исходниках не подключились файлы
надо добавить
Код:
INCLUDEPATH += ./lib/QGumboParser
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.