因此,我开始使用带有 Qt 的 catch 进行单元测试(纯 C++,但使用带有 .pro 文件的 qmake)。
这是一个包含以下文件的小项目:
DatagramSocket.cpp/h
main.cpp - this contains a main() function
但对于单元测试它也有文件:
catch.hpp
unittestdatagramsocket.cpp - this contains a main() function
在我的 .pro 文件中,我可以像这样正常构建项目:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
# TARGET = unittest-UDPDatagram
TARGET = UDPDatagram
SOURCES += \
main.cpp \
DatagramSocket.cpp \
# unittestdatagramsocket.cpp
HEADERS += \
DatagramSocket.h \
catch.hpp
LIBS += \
-lwsock32
-lws2_32
然后我可以运行 UDPDatagram.exe - 它有效。
或者我可以像这样为单元测试构建它:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
TARGET = unittest-UDPDatagram
# TARGET = UDPDatagram
SOURCES += \
# main.cpp \
DatagramSocket.cpp \
unittestdatagramsocket.cpp
HEADERS += \
DatagramSocket.h \
catch.hpp
LIBS += \
-lwsock32
-lws2_32
然后我可以运行 unittest-UDPDatagram.exe - 它有效。
我想做的是让构建(无论是调试还是发布)每次都构建。这可能吗?
最佳答案
不,每个 .pro 文件仅用于一个可执行文件或库。但是您可以将共享的内容放在一个单独的 .pro 文件中,并从两个 .pro 文件中包含它,每个文件用于一个程序。
关于c++ - 使用 QMake 如何为每个 main() 构建一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466784/