项目中有2个lib(.pro文件中为TEMPLATE = lib
)lib1和lib2。
在今天之前,lib1依赖于lib2:
LIBS += -llib2
还定义了宏并在我要导入的类中使用
#if defined(LIB2_BUILD)
#define LIB2_EXPORT Q_DECL_EXPORT
#else
#define LIB2_EXPORT Q_DECL_IMPORT
#endif
一切都很好,但现在我需要在lib2中使用lib1中的一些类。
我完成了:
lib2.pro中的 LIBS += -llib1
并为第二个lib定义EXPORT
masroc并将其用于我想在lib2中使用的类。
但是当我添加#include "../lib1/header.h"
时,我收到了错误
error: QGraphicsItem: No such file or directory #include <QGraphicsItem>
也许我忘了什么? 对不起,如果我对问题的描述不好。
UPD
如果我删除#include "../lib1/header.h"
,则编译并运行。
UPD2
我发现我不能在lib2文件中包含<QGraphicsItem>
- 同样的错误。
现在我有.pro文件QT += core widgets gui
,但在我这样做之前它是:
QT += core widgets
QT -= gui
我运行qmake并重建项目。什么都没有改变。
解
问题出现在使用lib2且没有QT += gui