• 1872阅读
  • 7回复

qtpropertybrowser编译成dll,调用出错 [复制链接]

上一主题 下一主题
离线mdwang304
 

只看楼主 倒序阅读 楼主  发表于: 2020-11-04
用qtcreator打开buildlib生成dll和.a文件,没有问题,测试dll的时候,加入库文件,引入.h文件,编译报错

invalid use of incomplete type
class qtlocalepropertybrowserprivate
在线fsu0413

只看该作者 1楼 发表于: 2020-11-04
完整log放出来我看看
离线liudianwu

只看该作者 2楼 发表于: 2020-11-05
直接源码集成即可
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线mdwang304

只看该作者 3楼 发表于: 2020-11-09
源码集成没有问题,因为太多类似的东西,所以封装成dll,减少编译,另外应用的项目多,不希望大家更改,所以封装成dll库
离线mdwang304

只看该作者 4楼 发表于: 2020-11-09
回 fsu0413 的帖子
fsu0413:完整log放出来我看看 (2020-11-04 19:41) 

i
内网开发,无法导出来,手敲一段:
iinvalid use of incomlete type 'class QtLocalePropertyManagerPrivate'
iin file included from debug\moc_qtpropertymamager.cpp:9:0:
forward declaration of 'class QtLocalePropertyManagerPrivate''
iin static member function 'static void QtLocalePropertyManager::qt_static_metacall(Qobject *,QMetaobject::call,int ,void*)'

基本上都是这种,这种的话一般是在qtLOcalepropertymanager.h中,声明了 class QtLocalePropertyManagerPrivate,在cpp中,又定义QtLocalePropertyManagerPrivate,并实现,源码直接调用没有问题,通过qtCreator封装成dll,在应用程序中调用dll就会出现这种问题。
离线flyer_2001

只看该作者 5楼 发表于: 2020-11-10
应该是编译或调用时导入导出的宏定义错了
在线fsu0413

只看该作者 6楼 发表于: 2020-11-11
啊 你怎么用的QtLocalePropertyManager,是Qt的头文件吗,如果是的话看看是不是公开API
离线mdwang304

只看该作者 7楼 发表于: 2020-11-11
没搞定。。。。。
快速回复
限100 字节
 
上一个 下一个