Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: xintrea от Декабрь 21, 2017, 14:47



Название: Qt Creator - не могу добавить к проекту внутреннюю (Internal) библиотеку
Отправлено: xintrea от Декабрь 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

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

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


Название: Re: Qt Creator - не могу добавить к проекту внутреннюю (Internal) библиотеку
Отправлено: xintrea от Декабрь 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>


Название: Re: Qt Creator - не могу добавить к проекту внутреннюю (Internal) библиотеку
Отправлено: zhbr от Декабрь 22, 2017, 07:01
Цитировать
Так же в исходниках не подключились файлы
надо добавить
Код:
INCLUDEPATH += ./lib/QGumboParser