Qt 4.8中使用ActiveQt

42 篇文章 1 订阅

 Qt4.8 opensource 、 Mingw 、 Windows 环境下 编译Qt自带的examples\activeqt目录下的例子发现编译错误。

好不容易找到了一个问题的解决办法

 原文  http://blog.csdn.net/li_hai/article/details/7222440

曾经在Qt sdk 1.1.4下写过使用

excel = new QAxObject("Excel.Application");方法操作excel文件的程序,安装qt 4.8.0后这个程序不能正常编译了,去安装目录C:\Qt\4.8.0\lib下看,里面没有ActiveQt所需的库文件,用Qt Creator 2.4 打开源代码目录C:\Qt\4.8.0\src\activeqt中pro文件,进行debug和release编译,把生成的相应库文件.a拷贝到C:\Qt\4.8.0\lib目录,重新编译examples\activeqt,出现大片类似undefined reference to `IID_IOleObject'
解决办法:在container.pro文件的 CONFIG += qt_install_headers 添加create_prl,成为
CONFIG += qt_install_headers  create_prl,使编译产生静态库的prl文件 QAxContainer.prl    QAxContainerd.prl  (debug版与release版),检查prl文件中内容是否为:
 QMAKE_PRL_BUILD_DIR = C:/Qt/4.8.0/src/activeqt/container/  (参考lib目录中其他prl文件)
把prl文件也拷贝到lib目录下。把examples\activeqt 工程中的pro.user文件和影子目录删除重新bulid,错误消除,程序正常运行起来了
prl文件相关知识介绍:
http://blog.csdn.net/dbzhang800/article/details/6348432

*.prl

l 这个东西容易理解,链接(link)的首字符。主要和生成与使用静态库密切相关(动态库也可以有该文件,去Qt安装目录下的lib目录下看看即可)。

  • 生成静态库时,我们需要使用下列配置(进而生成和库文件同名的 *.prl 文件)
CONFIG += create_prl
  • 当工程的TEMPLATE为app时,会自动添加如下指令(找库文件的时候,会尝试找相应的 *.prl 文件)
CONFIG += link_pri

附:导出API使用文档的方法

COM是个自描述的结构,任何第三方软件是可以把这种描述化信息自动导出来的。Qt有方法可以自动导出来的,参考如下代码

QAxWidget*word=newQAxWidget("Word.Application",0,Qt::MSWindowsOwnDC);

QStringdoc=word->generateDocumentation();

QFileoutFile("c:/Application.html");

outFile.open(QIODevice::WriteOnly|QIODevice::Append);

 QTextStreamts(&outFile);

 ts<<doc<<endl;导出后你会发现是一个非常好的HTML格式的帮助问题,里面对每一个方法都有调用的详细描述。参考帮助后就能开始自己调用了,

版权声明:本文为博主原创文章,未经博主允许不得转载。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值