Stati c библиотеки в Qt 5.14 MinGW toolchain? (установка Qt по умолчанию) - PullRequest
0 голосов
/ 11 апреля 2020

Только что я заметил, что MinGW Toolchain, который поставляется с установкой Qt по умолчанию, по крайней мере Qt 5.14, поставляется с каталогом lib с файлами libQt5*.a. Это файлы * stati c библиотеки?

Я так думаю, потому что:

  1. Они имеют размер, аналогичный размеру, который я получаю при статической компиляции Qt для выпуска.
  2. $file ./libQt5Core.a выводит ./libQt5Core.a: current ar archive, то есть то же самое, что выводит для статически скомпилированных.

Если действительно это stati c библиотеки, как я могу сказать QMake (например, отредактировать файл .pro), чтобы он ссылался на них, а не на общие?

Windows screenshot of Qt static libs

1 Ответ

1 голос
/ 12 апреля 2020

Являются ли эти файлы stati c библиотеки?

Нет. Они не стати c. Онлайн-установщик Qt по умолчанию предоставляет только общие библиотеки. Файлы * .a являются так называемыми библиотеками импорта.

Библиотека импорта - это библиотека .a или .lib, но она содержит только немного информации, необходимой для того, чтобы сообщить компоновщику / ОС, как ваша программа взаимодействует с библиотекой DLL. .

Если вам нужна сборка Qt stati c windows по некоторым причинам, у вас есть несколько вариантов:

  • HARD Сборка всего Qt (или необходимые модули) самостоятельно .

  • EASY Использование vcpkg : vcpkg install qt5:x64-windows-static

С помощью vcpkg вы можете создать собственный MinGW триплет , если вам нужен MinGW по какой-либо причине. Но я предлагаю вам придерживаться MSV C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...