我想把写好的项目当一个模块 引入到要用的项目里,类似引入子项目,子项目结构:
下面是我的步骤:
首先 先把 写好的子项目文件夹 放到 项目文件夹下
在想要添加的项目文件夹下 鼠标右键 Add Existing Directory 选择 要添加的子项目文件夹
不能有两个main 函数,我删除了子项目的 main.cpp 和 .pro
主项目 .pro 注释了
#SUBDIRS += \
# vid/MediaLibrary/MediaLibrary.pro
启动项目,子项目引入文件报错,在子项目 引入 路径 加上文件名 MediaLibrary
例如:#include "MediaLibrary/res_base/tablewidget.h"
启动项目报错:
main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: void __cdecl Widget
最后解决
是 widget.cpp重复了 ,我把子项目的 widget.cpp 改成 MediaLibrary.cpp 对应 .h 文件和 ui 文件都要改
cpp 里 的 Widget 都改成 MediaLibrary
然后 在 项目里 使用 MediaLibrary类 ,就可以加载出来子项目了
#include "MediaLibrary/medialibrary.h"
MediaLibrary* mediaLibrary = new MediaLibrary(ui->widget_2);