Я должен делать что-то не так при создании DLL

Мне нужно собрать некоторые библиотеки DLL с использованием Qt 5, но я должен делать что-то не так, поскольку программа нуждается в этом не работает. Я знаю, что что-то не так, потому что когда я запускаю обходчик зависимостей на любом из собранных dll, он говорит, что есть неправильные ссылки или что он не может найти определенные DLL:

введите описание изображения здесь

Я считаю, что это потому, что некоторые вещи в x64bit, а другие в x32bits. Я работаю на 64-битной платформе, но я пытаюсь создать 32-битное приложение с 32-битными DLL. Я использую 32-битный компилятор MINGW, 32-битную версию Qt, 32-битные все, кроме ОС. Честно говоря, я новичок в этом, и я несколько растерялся, может кто-то указать мне правильное направление? Что не так с моей компиляцией?

Это .pro файл показанной DLL:

TEMPLATE = lib
TARGET = QENC
DESTDIR = ../release
QT += core gui widgets
CONFIG += release
DEFINES += QENC_LIB QT_DLL
INCLUDEPATH += ./GeneratedFiles \
./GeneratedFiles/Release \
. \
../../../proj-4.8.0/src
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/release
DLLDESTDIR += release
OBJECTS_DIR += release
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(QENC.pri)

PS: Я даже получаю ошибки в QtCored.dll и других DLL, которые устанавливает Qt: S это может быть ничего или источник ошибки.

0

Решение

Что нужно проверить при развертывании в Windows:

  1. Встроенный в режиме релиза — в файле PRO у вас есть CONFIG += release так что это должно быть хорошо, вы также можете добавить CONFIG -= debug debug_and_release линия, просто чтобы быть уверенным

  2. При использовании MSVC — связан с версией выпуска библиотеки C (/MD) не отладить (/MDd)

  3. Вы развертываете версию выпуска библиотек Qt (QtCore4.dll) не отлаживать d в конце (QtCored4.dll)

  4. Вы развертываете правильные библиотеки DLL для своего компилятора — в Qt, который идет с включенным GCC, будут две версии библиотек DLL, одна из которых построена с GCC, с которой будет работать ваша программа, и одна, созданная с MSVC, с предварительно встроенными инструментами (такими как qmake) будет ссылаться на.

  5. Если вы используете MSVC, у вас установлены все пакеты обновлений и обновления и что распространяемый вами MSVC соответствует компилятору именно так.

Это довольно сложно исправить, если я что-то пропустил, дайте мне знать.

2

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


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