使用可执行文件和DLL项目配置Qt Creator

问题描述 投票:2回答:2

我是来自Visual Studio的QT Creator的新手。我有一个包含两个项目的会话。一个是带有一些类的DLL,我打算将其用于其他目的。另一个是可执行控制台应用程序,它使用DLL中的一些类。

我目前在QT Creator中并排这两个项目。我可以使用相对路径“../MyPrject/header.h”在我的EXE项目中包含DLL中的头文件。但是如何让QT Creator链接然后将DLL复制到可执行调试文件夹中进行调试。

我做错了吗?有没有更好的办法?如果它包括向.pro文件添加代码,请包含一个链接,以便我了解更多信息。

c++ dll qt-creator multiple-projects
2个回答
0
投票

您应该在这些项目之间建立一些依赖关系。

  1. 打开这两个项目 - 你已经完成了。
  2. 在编辑器视图中,右键单击exe-project并选择添加库...
  3. 按照创建者提示添加它。

第二个选项:您可以创建子项目。关注文档中的QtCreator: Creating Projects(Qt Creator中的帮助视图)


0
投票

GwyenBleidD为包含DLL提供了一个很好的起点。

然而,我已经养成了修改.pro file directly here的习惯,老实说,我更喜欢修改.pro文件,以防出现问题。

假设我想使用winsock DLL

在.pro文件中,我首先指定.dll的相应.lib文件:

# WinSock2 library (ws2_32.lib file)
LIBS += -lws2_32

# Path to the WinSock2 library
LIBS += -L"c:/mylibraries/"

此外,您需要在此处为​​头文件指定include path

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%环境变量指向该文件。

关于您的设置,我确保您的子项目已配置,以便库编译FIRST(显然)。然后根据构建配置(debug | release)确保.Pro项目中的LIBS变量正确指向.lib目标。

Qt的PRO(qmake)并不像有些人那样糟糕。只要给它一个半小时到一个小时,你就可以了解它。我假设你对libs和DLL有很好的理解,但是没有。

http://qt-project.org/doc/qt-5.0/qtdoc/qmake-manual.html

© www.soinside.com 2019 - 2024. All rights reserved.