это очень запутанно.Я потратил много времени на чтение сообщений об этом в стеке и т. Д. Все еще в замешательстве.
Я использую Qt и C ++ для кодирования.В Qt я использую опцию gcc для компилятора.
Проблема в том, что многие сторонние библиотеки, которые я пробовал, не работают.
Я новичок в .dll, .a.lib, .def файлы и схемы библиотек.
Вопрос 1:
В моем ограниченном опыте (на данный момент я пробовал 7 или 9 библиотек), поставщики библиотек редко говорят вам, был ли .dll создан с помощью VisualStudio или gcc.Это добавляет много путаницы.Они почти никогда не дают понять, с каким компилятором совместима библиотека.Так что я был бы признателен за советы по поводу того, как справиться с этим кошмаром.Почти все библиотеки, которые я пробовал, являются проектами OpenSource.Я не буду называть имена здесь, но это хорошо известные проекты.Я уверен, что проблема в моем недостатке знаний ...
MinGW и gcc World
Вопрос2:
Насколько я могу судить, динамический C ++библиотеки для MinGW gcc universe требуют этого, верно?
* .h
* .dll
* .a
Вопрос 3:
К сожалению, файл .a часто отсутствует ибиблиотека не работает.Это очень запутанно.Если файл .a отсутствует, мне не повезло?
Вопрос 4:
Можно ли сгенерировать файл .a для MinGW / gcc, если * .dll был создан с помощью gcc?
Вопрос 5: Могу ли я сгенерировать файл .a дляMinGW / gcc, если * .dll был сделан с VisualStudio?
Вопрос 6:
Возможно ли, что * .dll (сделанный с MinGW / gcc) слишком старый и больше не совместим с более новым MinGW/ gcc?
Вопрос 7:
Проектам Qt, использующим MinGW / gcc, никогда не нужны файлы * .lib, верно?Это единственное, что есть в VisualStudio, верно?
Вопрос 8:
Мне не нужен файл * .def для использования * .dll в проектах Qt, использующих MinGW / gcc, верно?
VisualStudio World
Вопрос 9:
Насколько я могу судить, для динамических библиотек C ++ для VisualStudio требуются следующие:
* .h
*.dll
* .lib
Верно?Опять же, проблема в том, что файл * .lib почти всегда отсутствует.Кроме того, нет четких инструкций о том, с каким компилятором совместима библиотека.Так как я могу узнать, что это только для VisualStudio или нет?
Вопрос 10:
Если файл .lib отсутствует, мне не повезло?
Вопрос 11:
Можно ли сгенерировать файл .lib для VisualStudio, если файл * .dll был создан с помощью VisualStudio?Как?
Вопрос 12:
Можно ли сгенерировать файл .lib для VisualStudio, если * .dll был создан с помощью MinGW / gcc?Как?
Вопрос 13:
Возможно ли, что * .dll (сделанный с VisualStudio) слишком старый и больше не совместим с более новым VisualStudio?
Вопрос 14:
Если в QtCreator я выбираю компилятор VisualStudio, совместимо ли это на 100% с динамическими библиотеками, скомпилированными с помощью REAL VisualStudio кем-то другим?Я считаю, что опция компилятора VisualStudio в Qt Creator является поддельным компилятором VisualStudio.
Вопрос 15:
Если в QtCreator я выбираю компилятор MinGW / gcc, могу ли я использовать с динамическими библиотеками Qt, скомпилированными с REAL VisualStudio, кем-то еще?
Вопрос 16:
Мне не нужен файл * .def для использования * .dll в проектах Qt, использующих MinGW / gcc, верно?
Вопрос 17: Могу ли япреобразовать файл * lib (который работает с файлами * .dll и * .h), созданный с помощью REAL VisualStudio, в файл * .a, чтобы я мог использовать файл * .a с неизмененными файлами * .dll и * .h впроект Qt gcc?