Qt 4.8中使用ActiveQt

曾经在Qt sdk 1.1.4下写过使用
excel = new QAxObject("Excel.Application");方法操作excel文件的程序,安装qt 4.8.0后这个程序不能正常编译了,去lib目录下看,里面没有ActiveQt所需的库文件,用Qt Creator 2.4 打开src目录下的activeqt中pro文件,进行debug和release编译,把生成的相应库文件.a拷贝到lib目录,编译,出现大片类似undefined reference to `IID_IOleObject'
在container.pro文件
CONFIG += qt_install_headers 添加create_prl,使编译产生静态库的prl文件,编辑QMAKE_PRL_BUILD_DIR = D:/Qt/4.8.0/src/activeqt-build-desktop-Qt_4_8_0__4_8_0____/container/行为QMAKE_PRL_BUILD_DIR = D:/Qt/4.8.0/src/activeqt/container/
把prl文件也拷贝到lib目录下,把工程中的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

你可能感兴趣的:(Qt,C++,C/C++,qt,reference,excel,build)