我正在尝试为我的项目创建一个库。(Qt5、Qt Creator、VS2010编译器)
我从一个最小的测试样本开始检查它是如何工作的。
1-我制作了一个包含带有方法的类的库
2-我编译它并获取 Dll 和 Lib 文件
3-在主要应用程序中,我成功地添加了这个库及其到 .pro 和测试库的路径。
现在,我想摆脱 DLL 并将 lib 文件用作静态库。
所以我将此行添加到我的库 .pro 文件中
CONFIG+=staticlib
现在,我在编译后得到了 lib 文件,但是我不能在我的项目中使用它,并且我得到了 Unresolved external symbols... 错误
当我删除 CONFIG+=staticlib 时,它又可以工作了!但它不是静态的。
这些是我添加到主项目的 .pro 文件以加载/链接库的行
INCLUDEPATH +="G:/TestLib/testLib"
LIBS +=-l"G:/Build/debug/testLib"
所以问题是:是否可以在 Qt 中拥有我自己的静态库(非商业许可)?
如果是,我的方法有什么问题?
我应该更改 LIBS+=... 中的某些内容以指定其静态库吗?
我已经阅读了这篇文章,我的代码似乎没有任何问题。
请问有什么帮助吗?
编辑:问题已解决
问题是我们不需要静态库的 Q_DECL_EXPORT 和 Q_DECL_IMPORT !在那篇粗略的虚幻文章中没有明确提到这一点。