2013-03-20 99 views
4

我想为我的项目制作一个库。 (Qt5,Qt Creator,VS2010编译器)在Qt5中创建静态库并使用它

我从最小的测试样本开始检查它的工作方式。

1 - 我已经包含一类具有一个方法库

2-I编译,并得到DLL和LIB文件

3-在主aplication我添加此lib和其路径.pro并成功测试了库。

现在,我想摆脱DLL并使用lib文件作为静态库。

,所以我说这行到我的图书馆.pro文件

CONFIG+=staticlib 

现在,我得到编译后的库文件,但我不能在我的项目中使用它,我也得到未解决的外部符号...错误

当我删除CONFIG + = staticlib,它再次工作!但它不是静态的。

这些是我加入的.pro主体工程加载/链接库

INCLUDEPATH +="G:/TestLib/testLib" 
LIBS +=-l"G:/Build/debug/testLib" 

所以现在的问题是文件中的行:是否有可能有自己的静态库中的Qt(无商业执照)?

如果是,我的方法有什么问题?

shoud我改变了一些在LIBS + = ...来指定它的静态库?

我已阅读This Article,而且我的代码似乎没有任何问题。

请帮忙吗?

编辑:问题解决
的问题是,我们并不需要Q_DECL_EXPORT和Q_DECL_IMPORT静态库! 这是粗略的虚幻文章中没有明确提到的。

+0

也许你应该添加你的解决方案作为答案并接受它? – aukaost 2013-03-20 12:12:06

回答

3

问题解决

的问题是,我们并不需要对静态库Q_DECL_EXPORTQ_DECL_IMPORT!这在粗略的虚幻文章中没有明确提及。

Q_DECL_EXPORTQ_DECL_IMPORT是动态库所必需的。