Упаковка модифицированного класса Qt

Heads, это будет сбивать с толку:

Я настроил 9 файлов из Qt5.2: qquicktextdocument.cpp qquicktextdocument.h qquicktextedit.cpp qquicktextedit_p.h qquicktextedit_p_p.h qquicktextnode.cpp qquicktextnodeengine.cpp qquicktextnodeenginehp.

Каждый файл просто начинается с буквы и до сих пор находится в / qtdeclarative / src / quick / items /. Я на 100% доволен внесенными мною изменениями в GPL и т. Д. Я бы хотел, чтобы моим конечным приложением (обсуждаемым ниже) было Apache или MIT, но я гибок.

Мои модификации работают нормально. Когда я изменяю несколько дополнительных файлов, я могу скомпилировать их вместе с остальной частью Qt (в то же время, используя ту же команду make). Но эти изменения входят в другое приложение Qt, которое я делаю, и которое я хочу, чтобы другие люди могли использовать, и требовать, чтобы обычные потребители имели пользовательскую скомпилированную версию Qt, было бы, очевидно, абсурдом.

Я хочу упаковать / скомпилировать / сделать что-то, что позволит мне включить изменения в мой окончательный проект в виде разделяемой библиотеки или что-то в этом роде.

Как веб-разработчик, пишущий на C ++ и Qt, я очень озадачен связыванием разделяемых библиотек, заголовочных файлов и т. Д.

Напомним, что я модифицировал Qt 5.2 и сделал его собственную компиляцию для приложения, которое я создаю, и я хочу, чтобы люди могли запускать это приложение без необходимости иметь собственную компиляцию Qt. Мне нужен способ отделить мои модификации Qt от Qt.

Я понимаю, что это может быть большой темой, я не ожидаю пошаговое руководство, просто некоторые общие рекомендации. До сих пор я пытался скомпилировать мои измененные файлы как библиотеку, затем включить эту библиотеку в свой проект, но я получаю неопределенные ссылки и пропущенные файлы повсюду. (Я не знаю, правильно ли я сделал)

Я также в настоящее время смотрю на подклассы классов, которые я хочу, но я не уверен в этом. Возможно, потребуется скопировать код, который может иметь проблемы с лицензированием?

конечная цель: иметь возможность иметь волнистое подчеркивание (в qml) для неправильно написанных слов.

Благодарю вас.

1

Решение

Мои 5 центов.

  1. Если ваши изменения могут быть полезны (в целом) для других людей, вы можете попытаться подтолкнуть их вверх по течению через Просмотр Кода.
  2. Если вы хотите, чтобы ваше приложение запускалось только в Windows, все становится очевидным: в Windows это нормально, чтобы обеспечить ваше приложение общими библиотеками (чтобы избежать DLL HELL). Кстати, вы слышали о статической связи?
  3. Qt имеет некоторые plugin механизм. Вы можете скомпилировать ваш код в общий объект (динамическая библиотека) и установить его вместе с вашим приложением. Например, QML FolderListModel делает это. Вы можете посмотреть на код в $qt5_src/qtdeclarative/src/imports/folderlistmodel,
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]