加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C++动态库导出模板类的问题

(2019-05-17 16:50:02)
标签:

c

qt

template

分类: qt
今天准备把常用的一个队列和相关锁变量封装到一个模板类中,模板类定义完成后,类声明上也带有导出定义,但是在使用库的程序中,始终报找不到函数实现的错误。
使用depend工具查看编译生成的dll文件,在函数列表中竟然找不到模板类及其函数!很是费解,开始以为是QT开发工具的问题,不管是重新qmake,重新编译,还是关掉QtCreator后删除构建目录后重新编译,都是如此,百度了半天也百思不得其解。最终在一篇帖子中看到曙光!

感谢链接:
https://blog.csdn.net/zhengudaoer/article/details/73796261

在这篇文章中得到,模板类在未实例化(使用)的时候是不生成代码的,所以库中一直找不到类的定义。

所以根据文中提示,加了一个模板类实例化(只是测试用,所以用了int的参数),但是在使用程序编译时还是报错,最后想了想,应该是模板类对应的参数类型没有生成代码,为了验证,在使用程序中使用模板时也使用了int参数,然后重新编译,程序编译成功!
所以后续模板类的使用,还是尽量放在同一个库中吧。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有