使用QMake如何为每个main()构建一个项目 < >我开始使用QET(Que+C++),使用Quest.+Pro文件进行单元测试。
这是一个包含以下文件的小项目:使用QMake如何为每个main()构建一个项目 < >我开始使用QET(Que+C++),使用Quest.+Pro文件进行单元测试。,c++,qt,unit-testing,qmake,C++,Qt,Unit Testing,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
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
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
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文件中包含,每个文件用于一个程序。可能与@GLUTTON重复-这有点类似,谢谢。不过,我想我还需要更多的想法,如果可能的话,我想把它打开一点,看看是否还有其他选择。你可以使用
SUBDIRS
。谢谢你。但这是否意味着它必须是一个单独的项目?或者有没有一种方法可以将两个.pro文件链接在一起构建(可能像sub-dirs项目?),但仍然生成两个可执行文件还是每次都必须切换项目?谢谢只需创建一个简单的批处理文件(createAll.bat),为.pro和done文件调用qmake:-)awww…..我想是这样的!,谢谢:)想用qtcreator保持它的可构建性,但这不是优先权。