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