• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

connect the dots

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

QT 动态链接库的创建与使用

在vs中 新建工程 Qt Library

image

然后填写各种实现 最后编译会生成 *.dll *.lib 文件。

在另一个项目里使用该动态链接库文件的时候, 添加 *.h 头文件。 注意:不要在项目中 “添加已存在文件”的方式引入库头文件。 否则编译时会产生错误。“ error: definition of static data member 'A::staticMetaObjectExtraData' of dllimport'd class” 类似这样的错误。百度了一下:

http://bbs.csdn.net/topics/390026197

“隐式调用的时候我们一般在工程树中将需要的动态库头文件添加到工程中:
HEADERS  += mainwindow.h \
            ScopeWidget.h
这样导致ScopeWidget.h的全局引用,由于从QWidget继承,所以编译的时候会生成moc_ScopeWidget.cpp文件,导致如上错误。
解决办法是将ScopeWidget.h从工程树中移除,只在用到的地方引用。”

 

按照上面的说法,只在用到库的地方,引用库头文件就可以了!

posted on 2013-11-22 10:06  nimo299  阅读(571)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3