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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章