• 5533阅读
  • 5回复

[提问]MinGW不支持ActiveQt? [复制链接]

上一主题 下一主题
离线roywillow
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-21
想试着写一个ActiveQt程序,调用PowerPoint的接口,于是就在pro中加了这两行
CONFIG   += console qaxcontainer
TYPELIBS = $$system(dumpcpp -getfile {91493440-5A91-11CF-8700-00AA0060263B})

顺利出来了MSPPT.cpp和MSPPT.h,但是编译的时候却蹦出来了大量的
In file included from MSPPT.cpp:9:0:
MSPPT.h:30:10: error: use of enum 'MsoTriState' without previous declaration
MSPPT.h:35:10: error: use of enum 'MsoFeatureInstall' without previous declaration
MSPPT.h:37:10: error: use of enum 'MsoFileDialogType' without previous declaration
MSPPT.h:38:10: error: use of enum 'MsoAutomationSecurity' without previous declaration
MSPPT.h:44:10: error: use of enum 'MsoFileValidationMode' without previous declaration
MSPPT.h:45:10: error: use of enum 'MsoColorType' without previous declaration
MSPPT.h:46:10: error: use of enum 'MsoThemeColorIndex' without previous declaration
MSPPT.h:48:10: error: use of enum 'MsoExtraInfoMethod' without previous declaration
MSPPT.h:49:10: error: use of enum 'MsoFarEastLineBreakLanguageID' without previous declaration
MSPPT.h:50:10: error: use of enum 'MsoLanguageID' without previous declaration
之类的错误信息
谷歌了一下,似乎是因为MinGW不不支持ActiveQt?还请高手帮我确证一下。

其实我是想获得当前打开的ppt文档的路径,然后将它复制到其他的地方(因为上课的时候总会有老师不把上课的ppt留下来,搞得没法复习……),如果确实不支持,那有没有其他的方法来实现这一功能?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线dbzhang800

只看该作者 1楼 发表于: 2012-04-22
MinGW支持ActiveQt,或者说ActiveQt支持MinGW,这一点是确定的。(当然,如果Qt版本低于4.5.2,又是另一种情况)

不过ActiveQt这堆东西,不怎么好用
离线roywillow

只看该作者 2楼 发表于: 2012-04-22
回 1楼(dbzhang800) 的帖子
还好我用的东西不是很多
    QAxObject app("PowerPoint.Application");
    QAxObject *doc = app.querySubObject("ActiveWindow");
    QAxObject *pres = doc->querySubObject("Presentation");
    qDebug() << pres->dynamicCall("FullName()");
这几句应该就能得到我要的东西了
dumpcpp出来的东西似乎只是对其中各种QAxObject进行了封装,所以不封装只调用一些简单的函数,问题还不算很大
那一堆enum的错误好像是因为编译器的问题……?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 3楼 发表于: 2012-04-22
回 1楼(dbzhang800) 的帖子
虽然感觉在这问不合适,但是还是想试试从这里得到点啥解答……
现在遇到的一个问题是,我想获得当前的文档的读取和写入密码
从文档中看,应该是有Password和WritePassword两个属性可以返回,但是我这里看到的返回却全部是“*********”,难道说……这密码不能让我看到……?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线dbzhang800

只看该作者 4楼 发表于: 2012-04-22
我对这个不怎么了解。对于enum那个,我倾向于认为是ActiveQt的bug,封装类是根据“类型库”中的信息来生成的,这中间没涉及编译器的问题。
离线roywillow

只看该作者 5楼 发表于: 2012-04-22
回 4楼(dbzhang800) 的帖子
那我到qt-project.org上问问吧
先谢谢啦
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个