單獨編譯osgQt模塊 Qt moc


從alphapixel網站下載了OSG3.0.1VS2010x64版本的庫,但是里面不包括osgQt模塊,於是得自己編譯

*************osgQtx64.zip工程文件可以去本博客園的“文件”中去下載************

 

64位電腦,自己編譯好64位Qt4.8.2,假設編譯好的64位Qt位置是C:\Qt\build\x64,里面有bin,lib,include(據了解,Qt官網沒有提供Qt4.8.2版本的64安裝包)
注意修改環境變量QTDIR的值C:\Qt\build\x64和QT_BIN的值C:\Qt\build\x64\bin

右鍵解決方案,配置平台選擇x64,如果沒有此選項,點擊“配置管理器”按鈕進行配置

安裝qt-vs-addin-1.1.11-opensource.exe插件,安裝完畢后,VS中會看到有一個Qt菜單

點擊Qt菜單,選擇Qt Options,在Qt Versions選項卡中點擊Add按鈕,新建一個Name為4.8.2x64,Path為C:\Qt\build\x64

然后最下面的default Qt/win Version選擇新建的4.8.2x64

選擇Qt菜單中的Qt Project Settings,選擇Version為4.8.2x64,!!!!!!!!這里很重要,否則可能會使用以前安裝的32位Qt!!!!!

1、新建一個VS2010控制台空工程,修改配置屬性->常規->配置類型為動態庫(.dll),字符集選擇“使用多字節字符集”
2、配置OSG、Qt頭文件和庫路徑
include目錄C:\Program Files\OSG3.0.1VS2010X64\include;C:\Qt\build\x64\include;
lib目錄 C:\Program Files\OSG3.0.1VS2010X64\lib;C:\Qt\build\x64\lib;
3、在改配置屬性->C/C++->預處理器->預處理器定義添加OSGQT_LIBRARY
4、配置屬性->連接器中添加->QtCore4.lib QtGui4.lib QtOpenGL4.lib osg.lib osgWidget.lib osgDB.lib OpenThreads.lib osgViewer.lib osgText.lib osgGA.lib
Debug版本對應QtCored4.lib QtGuid4.lib QtOpenGLd4.lib osgd.lib osgWidgetd.lib osgDBd.lib OpenThreadsd.lib osgViewerd.lib osgTextd.lib osgGAd.lib
5、將osg源文件中的osgQt模塊相關頭文件和cpp文件拷貝到當前工程中
文件列表如下
Export
GraphicsWindowQt
GraphicsWindowQt.cpp
QFontImplementation
QFontImplementation.cpp
QGraphicsViewAdapter
QGraphicsViewAdapter.cpp
QWebViewImage
QWidgetImage
QWidgetImage.cpp
需要注意的是,QGraphicsViewAdapter這個頭文件中有Q_OBJECT宏定義,這個需要Qt的moc.exe進行編譯,
而現在此工程不是Qt工程,不會自動調用moc.exe。所以需要手動將QGraphicsViewAdapter這個頭文件編譯成
moc_QGraphicsViewAdapter.cpp
在cmd中輸入
D:\VSProject\osgQt\osgQt\src>moc QGraphicsViewAdapter -o moc_QGraphicsViewAdapte
r.cpp
Qt: Untested Windows version 6.2 detected!

D:\VSProject\osgQt\osgQt\src>
此時文件列表如下
Export
GraphicsWindowQt
GraphicsWindowQt.cpp
moc_QGraphicsViewAdapter.cpp
QFontImplementation
QFontImplementation.cpp
QGraphicsViewAdapter
QGraphicsViewAdapter.cpp
QWebViewImage
QWidgetImage
QWidgetImage.cpp
將moc_QGraphicsViewAdapter.cpp添加到工程中去
編譯即可得到osgQt.dll


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM