Я новичок в QT Creator из Visual Studio. У меня есть сессия с двумя проектами. Одним из них является DLL с некоторыми классами, которые я намерен использовать для других целей. Другое — исполняемое консольное приложение, которое использует некоторые классы из DLL.
В настоящее время у меня есть эти два проекта в QT Creator. Я могу включить файлы заголовков из DLL в мой проект EXE, используя относительные пути «../MyPrject/header.h». Но как мне заставить QT Creator связать, а затем скопировать DLL в исполняемую папку отладки для отладки.
Я делаю все это неправильно? Есть ли способ лучше? Если это включает добавление кода в файл .pro, пожалуйста, включите ссылку, чтобы я мог узнать больше.
Вы должны сделать некоторые зависимости между этими проектами.
exe-project
и выберите добавить библиотеку …2-й вариант: вы можете сделать подпроекты. следовать QtCreator: Creating Projects
из документации (просмотр справки в Qt Creator)
GwyenBleidD предоставил хорошую отправную точку для включения DLL.
Я, однако, сделал привычку изменять .pro файл прямо здесь и, честно говоря, я предпочитаю изменять файл .pro в случае, если что-то пойдет не так.
Предположим, я хотел использовать Winsock DLL.
В файле .pro я бы сначала указал соответствующий .lib файл .dll:
# WinSock2 library (ws2_32.lib file)
LIBS += -lws2_32
# Path to the WinSock2 library
LIBS += -L"c:/mylibraries/"
Кроме того, вам нужно будет указать включить путь к файлам заголовка здесь:
INCLUDEPATH += "c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/INCLUDE"
В-третьих, в моем коде я должен обязательно включить для него заголовки:
// I ASSUME it'll be found under something like the
// Visual Studio/VC/INCLUDE directory mentioned above.
#include <winsock2.h>
Наконец, вам нужно убедиться, что ваше приложение может найти файл .dll, обычно указывающий на использование переменной среды% PATH%.
Что касается вашей настройки, я бы позаботился о том, чтобы ваши подпроекты были настроены так, чтобы библиотека компилировала ПЕРВЫЙ (очевидно). Затем убедитесь, что переменная LIBS в вашем проекте .Pro правильно указывает на место назначения .lib в соответствии с конфигурацией сборки (debug | release).
PRO Qt (qmake) не так страшен, как некоторые думают. Просто дайте ему полчаса на час, и вы освоите его. Я предполагаю, что у вас есть четкое понимание библиотек и библиотек, а что нет.