从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

单独编译osgQt模块 Qt moc的更多相关文章

  1. android 单独编译某个模块

    第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了.以后如果我们修改了And ...

  2. 单独编译使用WebRTC的音频处理模块

    块,每块个点,(12*64=768采样)即AEC-PC仅能处理48ms的单声道16kHz延迟的数据,而 - 加载编译好的NS模块动态库 接下来只需要按照 此文 的描述在 android 的JAVA代码 ...

  3. 【单独编译使用WebRTC的音频处理模块 - android】

    更新 [2015年2月15日] Bill 这段时间没有再关注 WebRTC 以及音频处理的相关信息,且我个人早已不再推荐单独编译 WebRTC 中的各个模块出来使用.实际上本文的参考价值已经很小了,甚 ...

  4. Qt4.7.4下单独编译QtWebkit

    最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库.在编译一个使用Webkit的工程时出错,而根据工程的需要,要单独编译QtWebkit库.    由于不想再次编译整个的Qt库,于是 ...

  5. Android5.0 Gallery2上编译Gallery模块出错

    Android5.0 Gallery2上编译Gallery模块出错 时间:2015-05-05 19:32:57      阅读:105      评论:0      收藏:0      [点我收藏+ ...

  6. 单独编译framework【转】

    本文转载自:http://blog.csdn.net/u011168565/article/details/53782325 参考文章: http://bbs.csdn.net/topics/3701 ...

  7. 【转】如何单独编译Android源代码中的模块--不错

    原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...

  8. 如何单独编译Android源代码中的模块

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...

  9. Android AOSP 单独编译某一模块

    由于AOSP 项目太大,我只修改了一个模块,比如设置. 那么只需要单独编译设置这个模块就可以了. 首先执行Source: source build/envsetup.sh 执行之后,就会有一些额外的命 ...

随机推荐

  1. nyoj 236拦截导弹 简单动归(java)

    C/C++: #include<stdio.h> int main() { // freopen("250.txt","r",stdin); ],b ...

  2. 如何利用cookie来保存用户登录账号

    众所周知,cookie在网页编写中不接或缺,今天就谈谈如何利用cookie技术来保存用户登录账号 1.首先是否保存用户登录账号当然是用户自行决定,所以我们需要在用户登录界面设置一个复选框,以此取得用户 ...

  3. Ubuntu 12 编译安装 PHP 5.4 及 问题汇总

    参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: ############################ ...

  4. javascript高级程序设计---Event对象三

    进度事件 进度事件用来描述一个事件进展的过程,比如XMLHttpRequest对象发出的HTTP请求的过程.<img>.<audio>.<video>.<st ...

  5. Javascript高级程序设计——客户端检测

    ECMAScript虽然是Javascript的核心,但是要在web中使用Javascript,那么BOM才是核心,BOM为我们提供了操作访问浏览器对象的借口, 但是由于BOM没有标准规范,导致存在不 ...

  6. 7 HandlerSet 处理程序链表类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso Handler ...

  7. 为什么要继承ActionSupport?

    struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承A ...

  8. VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“

    调试项目遇到错误提示,Visual Studio 2010(或VS2008或VS2005)启动调试的时候,弹出提示信息: 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Micro ...

  9. 【GoLang】GoLang UTF8 与 Unicode

    结论: 通用的UTF8编码可是Ken Thompson和Rob Pike共同发明的, 他们都是Go的作者. Go中rune对应unicode的码点, string只是UTF8编码.len(" ...

  10. C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    数组是变量的索引列表,可以在方括号中指定索引来访问数组中的各个成员,其中索引是一个整数,从0开始. 一维数组 多维数组(矩形数组) 数组的数组(锯齿数组) 数组必须在访问之前初始化,数组的初始化有两种 ...