编译安装QGLViewerPlugin

2023-11-15

QGLViewer 编译安装步骤

由于工作学习的需要,要用opengl绘制显示些模型动画,原来用的是Qt做UI,直接调用的是QGLWidget类,但这个只是提供了基本的框架,很多交互操作还需添加代码完成,自己偷懒也觉得繁琐,就借用了开源的工具库QGLViewer,下面是自己的编译安装过程。

开发环境:

Windows 7 64bit

VS2012

Qt 5.2.1 for Windows 64-bit (VS 2012, OpenGL, 553 MB)

Visual Studio Add-in 1.2.3 Alpha for Qt5

libQGLViewer 2.5.0

执行下面步骤的前提是已经装好Qt和其对应的VS插件

步骤1——下载libQGLViewer库,解压缩

步骤2——编译libQGLViewer库

打开VS2012,点击菜单项 QT5->Open Qt Project File,选择步骤1 解压的路径\QGLViewer\QGLViewer.pro, 然后编译即可。编译成功后可在 QGLViewer\x64\Release目录下找到 QGLViewer2.dll 和 QGLViewer2.lib,这就是以后需要调用的动态库和静态库文件。 如果需要调试可以在debug模式下再编译一次,这时得到的是QGLViewerd2.dll 和 QGLViewerd2.lib。

步骤3——测试自带examples(以simpleViewer为例)

i)仍旧通过VS2012中的QT5菜单项打开simpleViewer.pro,编译会报如下错误

 

这是由于程序找不到静态库,根据提示用文本格式打开simpleViewer.pro文件,替换路径C:\Windows\System32为QGLViewer2.lib所在目录。另外把QGLViewer2.dll所在目录添加到系统环境变量中或者将dll复制到C:\Windows\System32和C:\Windows\SysWOW64中。

ii)重新按i)执行,又出现如下错误:

 

这是程序入口错误造成的,选择工程Properties->Linker->Advanced,在Entry Point中添加mainCRTStartup,再编译运行,成功通过。

 

 步骤4-编译安装QGLViewerPlugin

为了绘制UI方便,该库还提供了可以在Qt Designer中拖放的插件。 打开VS2012,点击菜单项 QT5->Open Qt Project File,选择步骤1 解压的路径\designerPlugin\designerPlugin.pro, 然后编译即可(记得替换路径C:\Windows\System32为QGLViewer2.lib所在目录)。编译成功后可在 designerPlugin\x64\Release目录下找到 qglviewerplugin.dll 和 qglviewerplugin.lib,这就是以后需要调用的动态库和静态库文件。 复制qglviewerplugin.dll 到 D:\Qt\Qt5.2.1\5.2.1\msvc2012_64_opengl\plugins\designer(注意替换成你所对应的路径下)即可。打开 Qt Designer可以看到插件QGLViewer已安装成功。

  

win64 QT(VS2013) 配置 CGAL+libQGLViewer

网上讲的都不是太全

我来说说把~

首先感谢这位大神:

chenwk891:http://blog.csdn.net/chenwk891/article/details/42171495#reply

还參考了这三个站点:

百度经验http://jingyan.baidu.com/article/1709ad80b673f34634c4f0ac.html

libQGLViewer官网:http://libqglviewer.com/installWindows.html

CGAL 4.6.1 - Manual:http://doc.cgal.org/latest/Manual/installation.html

 

最后在VS2013下安装了  boost_1_58_0  + CGAL-4.6.1 +CMake + libQGLViewer-2.6.3

 

好吧開始把。。

。。

本教程须要配置的环境变量

PATH里加入:

 

D:\CGAL\CMake\bin;

D:\CGAL\CGAL-4.6.1\auxiliary\gmp\lib;

D:\CGAL\CGAL-4.6.1\vs2013-build\bin;(vs2013-build是自己建的目录)

D:\CGAL\libQGLViewer-2.6.3\QGLViewer

新建QGLVIEWERROOT:(安装CGAL的3D包时须要)

D:\CGAL\libQGLViewer-2.6.3\QGLViewer

 

本教程须要的文件能够从这里下载

http://pan.baidu.com/s/1e5EHK

 

1、先装boost

http://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/

依据自己的VS版本号下载boost,我的是VS2013,选择 VC12.0的那个下载。

点exe安装即可了。

 

2、安装CGAL

如百度经验里所看到的,选择32bit,但不一定要装在C盘。其它安装过程照做。

 

3、安装libQGLViewer-2.6.3

这个仅仅有须要用CGAL的3D功能时才要装,仅仅用2D的话能够跳过。

或者能够用libQGLViewer-2.6.3作为QT creator的 3d画图窗体插件。

这个主要是參考官网弄的。

我是用qt creator 直接编译的,打开D:\CGAL\libQGLViewer-2.6.3\QGLViewer里的 QGLViewer.pro 直接编译

应该就出来QGLViewer2.dll、QGLViewer2.lib(release版)和  QGLViewerd2.dll、QGLViewerd2.lib(debug版)

将dll拷贝至系统目录 32位是C:\Windows\System32,64位是C:\Windows\SysWOW64两个都拷贝一下也成

为qt creator安装designer plugin: QGLViewer widget

打开 D:\CGAL\libQGLViewer-2.6.3\designerPlugin 下的 designerPlugin.pro 直接编译

将生成的qglviewerplugin.dll拷贝至你的qt文件夹下D:\Qt\5.4\msvc2013_64_opengl\plugins\designer

将QGLViewer2.dll拷贝至D:\Qt\5.4\msvc2013_64_opengl\bin

 

4、用CMake安装编译CGAL

这一步是最坑的。

先装cmake(按百度经验装吧)

我的CGAL装在:D:\CGAL\CGAL-4.6.1 

在里面建一个目录:D:\CGAL\CGAL-4.6.1\vs2013-build

打开cmake,

source code 填 D:\CGAL\CGAL-4.6.1 

build the binaries 填 D:\CGAL\CGAL-4.6.1\vs2013-build

点configure

第一次报错,在CMake里改动Boost->Boost_INCLUDE_DIR 路径,我的是 D:\CGAL\boost_1_58_0

点configure

第二次报错,点击CMak里面的Add Entry手动加上变量名Boost_LIBRARY_DIR,选择Value Type为PATH,并增加路径。我的是

D:\CGAL\boost_1_58_0\lib32-msvc-12.0

点configure

这下应该就好了。点generate。

假设你想用CGAL的3D库,选中WITH->WITH_demos

点configure

第三次报错,点击CMak里面的Add Entry继续加入3个变量

QT_INCLUDE_DIR ,选择Value Type为PATH,并增加路径,我的是 D:/Qt/5.4/msvc2013_64_opengl/include

QT_LIBRARY_DIR。选择Value Type为PATH,并增加路径。我的是 D:/Qt/5.4/msvc2013_64_opengl/lib

QT_QMAKE_EXECUTABLE,选择Value Type为FILEPATH,并增加路径,我的是D:/Qt/5.4/msvc2013_64_opengl/bin/qmake.exe

 

点configure

这下3D的也能够configure成功了。点generate。

这里的Add Entry变量都是參考http://doc.cgal.org/latest/Manual/installation.html

 

5.、在Visual Studio下编译CGAL库

在D:\CGAL\CGAL-4.6.1\vs2013-build 路径下打开CGAL.sln。分别在Debug和Release下编译,生成全部所需库。

 

6、调用:

请參考chenwk891:http://blog.csdn.net/chenwk891/article/details/42171495#reply

和百度经验 :http://jingyan.baidu.com/article/1709ad80b673f34634c4f0ac.html

 

qt的调用就不说了- -

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译安装QGLViewerPlugin 的相关文章

  • 用批处理将文件夹设为虚拟磁盘

    记录备忘 将下列文本保存成 bat subst Z d subst Z D WorkSpace
  • python 爬虫 requests模块 中的Cookies 验证 通过验证cookies模拟登陆豆瓣登陆

    在爬取某些数据时 需要进行网页的登陆 才可以进行数据的抓取工作 Cookies登陆就像很多网页中的自动登陆功能一样 可以让用户第二次登陆时不在需要验证账号和密码的情况下进行登陆 在requests模块中实现Cookies登陆时 首先需要在浏
  • 华为OD机试真题 Java 实现【异常的打卡记录】【2023Q1 100分】

    一 题目描述 考勤记录是分析和考核职工工作时间利用情况的原始依据 也是计算职工工资的原始依据 为了正确地计算职工工资和监督工资基金使用情况 公司决定对员工的收集打卡记录进行异常排查 如果出现以下两种情况 则认为打卡异常 实际设备号与注册设备
  • selenium+pytest——失败用例重试

    selenium pytest 失败用例重试 一 目的 在我们使用selenium pytest做UI自动化的时候偶尔会遇到因为特殊情况 比如浏览器加载失败 网络波动等等导致用例运行失败 可能单独运行没 问题 对于这些场景产生的用例结果不是
  • UE4 蓝图通信:接口调用

    UE4学习心得 蓝图间信息通信的几种方法 UE4的接口调用技术有点简单粗暴 而且主要体现在主蓝图对子蓝图的信息通信 在内容浏览器中添加一个蓝图接口 命名为TestInterface 双击打开接口 直接使用其创建时自带的一个接口函数 将其重命
  • 物理机安装centos7(u盘安装)——详细版

    我用的是华为的物理机 其它物理机操作几乎相同 可能不同的设置调试方法不同 如果是虚拟机安装 直接跳到centos7设置即可 物理机U盘启动 安装centos8方法相同 可能有些需要硬件配置相关 相关问题看具体报错方式 UltraISO下载地
  • 在C语言中 ¬∧∨这些符号什么意思

    b b b a a a b a a 或运算是 a b a b b b a a a 这三个都是位运算 是取非运算 交你个小窍门 没啥子好多的了 好好看看 里面有详细的解释 这就是在逻辑运算中常用到的短路判断 ls的已经说的很清楚了 b a b
  • 微信小程序之首页搭建

    小程序开发与实战 学习视频 https www bilibili com video BV1Gv411g7j6 p 9 spm id from pageDriver 实现导航栏和tabBar 实现导航栏和tabBar tabBar看下图 参
  • 电荷泵

    电荷泵 又称为电容式的开关稳压器 或开关电容DC DC变换器 无感式DC DC变换器 电荷泵采用电容作为开关和储能的元件 如图所示 S1与S3闭合 S2与S4断开 则Vin给电容充电 而后S1与S3断开 S2与S4闭合 则电容放电 此时Vo
  • Virtual Judge-4099:队列和栈

    Virtual Judge 4099 队列和栈 题目描述 队列和栈是两种重要的数据结构 它们具有push k和pop操作 push k是将数字k加入到队列或栈中 pop则是从队列和栈取一个数出来 队列和栈的区别在于取数的位置是不同的 队列是
  • PyTorch入门(六)使用Transformer模型进行中文文本分类

    在文章PyTorch入门 五 使用CNN模型进行中文文本分类中 笔者介绍了如何在PyTorch中使用CNN模型进行中文文本分类 本文将会使用Transformer模型实现中文文本分类 本文将会使用相同的数据集 文本预处理已经在文章PyTor
  • C语言程序——用星号打印图案

    文章目录 前言 一 用星号打印图案 二 程序实例 1 程序代码 2 运行结果 3 结果分析 三 拓展应用 总结 前言 用打印字符来输出星号组成的HELLO 一 用星号打印图案 用星号打印图案 一般利用星号画出具体的模拟输出形式 然后在输出时
  • 【Android】常用对话框大全(一)Android Dialog

    Android的对话框有多少种 Android好看的对话框有很多 如Android material qmui xui kongzue等系列对话框 但博主只打算讲解Android material系列对话框 讲太多没必要 实在想要做成人家那
  • 千万级数据清洗ETL设计方案

    千万级数据清洗项目分析总结 项目简介 一 需求分析 1 前期需求 2 中期需求 3 后期需求 二 技术支持 1 MySQL 2 Redis 三 框架设计 1 流线型代码 2 工厂模式 四 调式工作 1 线上测试 五 问题回顾 1 Mysql
  • scratch python的区别ev3_机器人编程和少儿编程,傻傻分不清—乐高EV3入门感想

    机器人编程和少儿编程的区别 机器人编程和少儿编程不是一个概念 机器人编程是少儿编程的重要组成部分 少儿学习编程大体上是两种方式 1 纯软件 最具代表性的是scratch 是麻省理工学院专门针对小朋友研发的图形化编程语言 无需英文和代码基础
  • win7系统扩展双屏幕时,如何在两个屏幕下都显示任务栏

    扩展屏幕下都显示任务栏 win7系统本身无法设置该功能 目前我是不知道 但可以下载第三方软件来解决该问题 第一步 Dual Monitor Taskbar 下载软件 下载链接 http pan baidu com s 1o61isjw 密码
  • Web 浏览器演变史

    浏览器的演变是由梦想和创新编织而成的 Tim Bernas Lee 在80年代在CERN工作时 提出了HTML技术 用以改善CERN庞大的信息管理需求 Tim 也编写了第一款浏览器 它是基于NeXT提供的interface builder开
  • 【STM32学习笔记】(7)——STM32时钟系统详解

    STM32时钟系统 时钟系统的简介 RCC Reset Clock Control 复位和时钟控制器 时钟是单片机运行的基础 时钟信号推动单片机内各个部分执行相应的指令 时钟系统就是CPU的脉搏 决定cpu速率 像人的心跳一样 只有有了心跳
  • 深度优先搜索(DFS) 广度优先搜索(BFS)

    深度优先搜索算法 Depth First Search DFS是搜索算法的一种 它沿着树的深度遍历树的节点 尽可能深的搜索树的分支 当节点v的所有边都己被探寻过 搜索将回溯到发现节点v的那条边的起始节点 这一过程一直进行到已发现从源节点可达
  • 软件系统产品线特征及构建过程

    根据SEI定义 结合业界的一些研究 软件产品线有如下几个重要特征 1 一个软件产品线应该有一系列的产品成员组成 既产品家族 2 产品家族中的所有产品都服务于一些特定的领域 3 产品家族成员之间在服务功能 产品质量 产品性能 产品应用范围等方

随机推荐

  • Kotlin协程概览

    协程 Coroutines 并不是 Kotlin 提出来的新概念 很多的编程语言都有实现 如 Go Python 等 本文所讲 专指kotlin的协程 在Android 11中 Asynctask已经被废弃了 因为协程可以更简单 直观的实现
  • (管用)Sqlite数据库升级

    调用构造器DBHelper中super里面的方法 增大newVersion的值 就会自动执行onUpgrade 增加数据库字段的sql语句 String upgradeGoods alter table Person add column
  • matlab 里tic toc的用法,Matlab中tic和toc用法

    简单地说 tic和toc是用来记录matlab命令执行的时间 tic用来保存当前时间 而后使用toc来记录程序完成时间 两者往往结合使用 用法如下 tic operations toc 显示时间单位 秒 Tic和toc函数可以计算运行一段时
  • 微信小程序的简单开发案例(记事本)

    微信小程序案例之简单记事本实现 我最近在学习微信小程序 主要熟悉了微信开发者工具的简单使用以及小程序的开发流程 微信小程序的学习要求不高 只要有一些web前端等知识基础即可 1 小程序简介 微信小程序是一种不用下载就能使用的应用 也是一项创
  • vant2-上拉加载、下拉刷新

    可以使用vant组件库实现 上拉刷新 下拉加载功能 vant2开发指南 htt ps youzan github io vant v2 zh CN list 上拉加载 List列表
  • CXF学习笔记三(发布restFul)

    一 概述 JAX RS是Java提供用于开发RESTful Web服务基于注解 annotation 的API JAX RS旨在定义一个统一的规范 使得Java程序员可以使用一套固定的接口来开发REST应用 避免了依赖第三方框架 同时JAX
  • 神经网络算法入门书籍,bp神经网络算法的优点

    请问学bp神经网络哪本书比较好 我研究生3年学的都是这个玩意 你是本科生吧 给你推荐一本书 我和我的同学都觉得这本书非常宝贝 西安电子科技大学出版的一本关于神经网络的书 定价是20元 至少3年前的版本是20元 蓝紫色皮 那本书非常好 不过是
  • Linux ffmpeg编译踩坑

    1 安装freetype字体库 avfilter添加文字水印的依赖项 下载freetype https www freetype org download html 配置 编译 安装 读取版本信息 configure make sudo m
  • Beego框架基本使用实践教程

    项目介绍 一款 Go 语言基于Beego Layui MySQL等框架精心打造的一款模块化 高性能 企业级的敏捷开发框架 本着简化开发 提升开发效率的初衷触发 框架自研了一套个性化的组件 实现了可插拔的组件式开发方式 单图上传 多图上传 下
  • 计算机专业毕业论文指导记录详细,毕业论文指导记录怎么写 了解一下

    1 指导记录总共6次 请各位同学按照法学院网站上公布的毕业论文写作进度确定每次指导记录的时间 同时根据自己的论文选题和实际情况 可稍作调整 2 第一次 根据学院的统一部署 布置学生毕业论文写作的总体要求与进度 要求学生严格按照学院的部署 积
  • shared_ptr的线程安全性

    shared ptr的线程安全性 shared ptr的reference count是线程安全的 但是指向的对象不是线程安全的 本文链接 https blog csdn net D Guco article details 8015532
  • SpringBoot+SSM+MySQL整合项目演示(不涉及前后端交互)

    文章目录 准备工作 创建项目 图1 图2 图3 图4 工程目录 代码编写 数据库 pom文件修改 完整项目目录 User类 创建一个来接收查询出来数据的对象 UserMapper接口 UserMapper xml文件配置 Service层
  • git 常用操作总结

    记录一下经常使用到的 git 操作 目录 开发新功能 拉取远程分支 开发新功能 创建 develop 分支 git branch dev 新建功能分支 根据 develop 为基础再键新的 feature 功能分支 b 是创建并且切换到改分
  • # vue# 【九】 个人中心的制作

    Z vue个人中心的制作 个人中心的制作 在实际开发里面 经常会有一些登录页需要进行编写 例如下面这些类型 而这些版面的制作 比较讲究的是思路问题 例如我们想要制作一个登录页 点击就可以输入名字 并且修改名字 整体思路 我们可以先把整体拆分
  • AV1视频编码标准资源汇总

    AV1视频编码标准资源汇总 A Progress Report The Alliance for Open Media and the AV1 Codec http www streamingmedia com Articles Edito
  • NoPrint.js:使用JavaScript在HTML中禁用打印、截屏、复制和粘贴

    NoPrint js是一个小巧整洁的开源JS库 可禁用HTML中的打印 截图 复制和粘贴功能 它还提供启用AutoBlur选项 让鼠标离开网页后内容变得模糊 这个功能可以阻止大多数普通用户截取屏幕截图 NoPrint js可以在几乎所有的浏
  • javaweb期末课设之图书管理系统(附源码)

    一 设计目标 项目是以北京航天航空大学图书管理系统为主题的网站 包含如下功能 注册 登录 用户端 图书查询及借阅 用户端 借阅记录及归还 管理员端 添加及修改图书 管理员端 管理用户信息 用户 管理员端 更改密码 二 运用的软件技术 前端设
  • Spring Boot项目pom

    spring boot web
  • VMware Workstation 虚拟机创建客户端系统,出现此主机不支持64位客户机操作系统问题解决

    安装VMware Workstation 虚拟机 选择centos7 64位是出现此主机不支持64位客户机操作系统 由于是window10系统 我们肯定是支持64的 所以硬件和系统应该是支持的才对 那么可能是哪个系统设置影响到了 有可能有下
  • 编译安装QGLViewerPlugin

    QGLViewer 编译安装步骤 由于工作学习的需要 要用opengl绘制显示些模型动画 原来用的是Qt做UI 直接调用的是QGLWidget类 但这个只是提供了基本的框架 很多交互操作还需添加代码完成 自己偷懒也觉得繁琐 就借用了开源的工