为了简化这种情况,我们假设有两个文件:core.cpp
和main.cpp
。
core.cpp
包含该计划的功能,main.cpp
包含基本的main()
实施。
我想要Qt(使用qmake和.pro文件)
core.a
然后main.cpp
来构建main.exe
。 如何在qmake文件中进行设置?
答案 0 :(得分:32)
文件系统布局:
MyProject
|_ myproject.pro
|_ core
|_ core.cpp
|_ core.h
|_ core.pro
|_ app
|_ main.cpp
|_ app.pro
myproject.pro:
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = core \
app
app.depends = core
core.pro:
TEMPLATE = lib
CONFIG += staticlib
HEADERS = core.h
SOURCES = core.cpp
app.pro:
TEMPLATE = app
SOURCES = main.cpp
LIBS += -L../core -lcore
TARGET = ../app-exe # move executable one dire up
答案 1 :(得分:0)
如果您正在利用静态库中的资源,则也应将其导入应用程序中。 Q_INIT_RESOURCE
是将资源文件导入应用程序的方法。
假设您在静态库中有一个资源文件,文件名为myResources.qrc
。然后,您应该按照以下所示在应用程序中对此进行初始化:
QApplication a(argc, argv);
Q_INIT_RESOURCE(resources); //Magic is here.
MainWindow w;
w.show();
a.exec();
对于.masci给出的很好的示例,可以如下所述修改.pro文件:
TEMPLATE = lib
CONFIG += staticlib
HEADERS = core.h
SOURCES = core.cpp
RESOURCES += myResources.qrc