[英]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 文件添加代碼,請提供一個鏈接,以便我可以了解更多信息。
您應該在這些項目之間建立一些依賴關系。
exe-project
並選擇添加庫... 第二種選擇:您可以制作子項目。 按照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 以及其他方面有深入的了解。
正確的方法是打開基於 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.