簡體   English   中英

使用可執行文件和 DLL 項目配置 Qt Creator

[英]Configuring Qt Creator with executable and DLL project

我是來自 Visual Studio 的 QT Creator 新手。 我有一個包含兩個項目的會話。 一個是帶有一些類的 DLL,我打算將其用於其他目的。 另一個是一個可執行的控制台應用程序,它使用 DLL 中的一些類。

我目前在 QT Creator 中並排擁有這兩個項目。 我可以使用相對路徑“../MyPrject/header.h”在我的 EXE 項目中包含來自 DLL 的頭文件。 但是如何讓 QT Creator 鏈接,然后將 DLL 復制到可執行調試文件夾中進行調試。

我做這一切都錯了嗎? 有沒有更好的辦法? 如果它包括向 .pro 文件添加代碼,請提供一個鏈接,以便我可以了解更多信息。

您應該在這些項目之間建立一些依賴關系。

  1. 打開這兩個項目 - 你已經完成了。
  2. 在編輯器視圖中,右鍵單擊exe-project並選擇添加庫...
  3. 按照創建者提示添加它。

第二種選擇:您可以制作子項目。 按照QtCreator: Creating Projects從文檔QtCreator: Creating Projects (Qt Creator 中的幫助視圖)

GwyenBleidD 為包含 DLL 提供了一個很好的起點。

在此處輸入圖片說明

然而,我已經養成了直接在此處修改 .pro 文件的習慣,老實說,我更喜歡在出現問題時修改 .pro 文件。

假設我想使用winsock DLL

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

# 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% 環境變量。

關於您的設置,我會確保您的子項目已配置,以便庫首先編譯(顯然)。 然后確保 .Pro 項目中的 LIBS 變量根據構建配置(調試|發布)正確指向 .lib 目標。

Qt 的 PRO (qmake) 並不像某些人認為的那么糟糕。 只要給它一個半小時到一個小時的時間,你就會掌握它的竅門。 我假設您對 libs 和 DLL 以及其他方面有深入的了解。

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

正確的方法是打開基於 CMake 的項目並將 exe 和 dll 保留在一個根項目中。 此決定的主要好處是獨立於 IDE 的方法:您可以使用 Qt Creator、CLion、Visual Studio,而無需更改項目定義。 作為起點考慮查看示例項目https://github.com/anatoly-spb/cmake_exe_dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM