[英]QT Creator: How to generate the library and testing executable for a custom widget
有以下文件:
MyWidget
|- MyWidget.cpp
|- MyWidget.hpp
|- MyWidget_UnitTest.cpp
我想立即生成以下文件:
因此,很容易測試小部件的錯誤,也可以將結果包含在其他小部件或項目中。
我試圖操縱.pro文件,但沒有成功:
# ONLY TESTING UNIT
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MyWidget_UnitTest
TEMPLATE = app
SOURCES +=\
MyWidget.cpp \
MyWidget_UnitTest.cpp
HEADERS += \
MyWidget.hpp
CONFIG += c++11 -Wall
#ONLY LIB
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MyWidget_UnitTest
TEMPLATE = lib
SOURCES +=\
MyWidget.cpp \
MyWidget_UnitTest.cpp
HEADERS += \
MyWidget.hpp
CONFIG += c++11 -Wall
CONFIG += dll
我無法將兩者合並到一個項目中。
可能會添加更多結果:靜態vs動態lib等。
使用不同的CONFIG
標志:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
SOURCES +=MyWidget.cpp
HEADERS += MyWidget.hpp
CONFIG += c++11 -Wall
testmode {
# ONLY TESTING UNIT
TARGET = MyWidget_UnitTest
SOURCES += MyWidget_UnitTest.cpp
TEMPLATE = app
}
libmode {
#ONLY LIB
TARGET = MyWidget
TEMPLATE = lib
CONFIG += dll
}
要構建兩者:
qmake "CONFIG+=libmode"
make
qmake "CONFIG+=testmode"
make
使用SUBDIRS項目組織。
project_dir/
src/
your_dll/
... sources, headers ...
your_dll.pro
your_exe/
... sources, headers ...
your_exe.pro
project_dir.pro
project_dir.pro
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS += src/your_dll
SUBDIRS += src/your_exe
your_exe.depends = your_dll
your_exe.pro
TARGET = your_exe
TEMPLATE = app
QT += widgets
LIBS += -L$${YOUR_DLL_PATH} -lyour_dll
etc...
your_dll.pro
TARGET = your_dll
TEMPLATE = lib
QT += widgets
etc...
現在,在構建時,將構建DLL和EXE,並且EXE將鏈接到DLL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.