qwtplot3D安装--终结解决方案

2023-10-26

          帮同学做一个地热信息展示的软件,需要用到3D显示的内容。一方面,自己比较懒,懒去看OpenGL相关的内容(虽然以前做过3D开发相关的内容,但是毕竟需要处理的代码太多了);另一方面,也是一直在用QWT在帮他做2D图形显示这块,因此就想着用qwtplot3D来做三维显示。毕竟是在OpenGL基础上再封装了一层的,用起来肯定更加的顺手。

          但是,在安装的过程中却遇到了很多的问题。咨询了Google中大量的帖子,发现按照他们说的方法根本没法解决我的实际问题。研究了整整一下午,总算是编译通过,解决了所有的问题。下面将通过重现我的安装编译过程,及解决问题的方法来告诉大家如何才能正确的安装qwtplot3D开发库。

          1、从网上下载qwtplot3D的最新版本:http://qwtplot3d.sourceforge.net/

          2、解压qwtplot3d-0.2.7.zip到C盘根目录下(注意:路径中不能带有中文汉字)。

          3、打开C:\qwtplot3d-0.2.7\qwtplot3d,将会看到qwtplot3d.pro文件。

          4、用QtCreator打开qwtplot3d.pro文件,并执行编译命令会出现如下如下错误:No rule to target 'Makefile.Debug'.  Stop.如下图所示:

         

          解决方法:

          双击并打开上图左侧中的qwtplot3d.pro文件,修改该文件部分内容:  win32:TEMPLATE = vclib   修改为: win32:TEMPLATE = lib

          5、修改完成后,再次点击编译运行。会再次出现错误:'stderr' was not declared in this scope  和  'fprintf' was not declared in this scope。 如下图所示:

         

           解决方法:

           打开左侧Source——》src——》qwt3d_function.cpp文件。并在顶部添加语句: #include "stdio.h"

           6、再次编译。即可顺利完成qwtplot3d工程的编译,不会再遇到错误。此时,打开C:\qwtplot3d-0.2.7\qwtplot3d\lib文件夹。会看到生成两个动态库文件:libqwtplot3d.a和qwtplot3d.dll。这就是编译好的qwtplot3d的动态库文件。作为开发而言,就可以直接使用。当然,我们不仅仅是希望编译生成动态库,还希望将qwtplot3d自带的Demo编译并运行通过。没问题,继续看下面的。

 

          7、编译qwtplot3d自带的Demo程序。打开C:\qwtplot3d-0.2.7\qwtplot3d\examples文件夹。用QtCreator打开example.pro文件,点击编译运行,同样会出现No rule to target 'Makefile.Debug'.  Stop的错误。这里需要修改的pro文件是common.pro文件。

          解决方法:

          打开common.pro文件。删除语句:TEMPLATE = vcapp 和 QMAKE_LFLAGS += /NODEFAULTLIB:msvcrt

 

         8、修改完成后,再次编译会出现 :: error: ../../lib/qwtplot3d.lib: No such file or directory 。(注意:也可能是出现无法 make 的错误。其实也是这个原因导致的,同样按照下面的修改方法也可以解决)

         修改方法:

         打开common.pro文件。修改语句:LIBS += ../../lib/qwtplot3d.lib  修改为:LIBS += ../../lib/libqwtplot3d.a

 

        9、修改完成后,再次编译就不会出现错误。但是,编译完成运行的时候出现:

         Starting C:\qwtplot3d-0.2.7\qwtplot3d\examples-build-desktop\bin\autoswitch.exe...

        C:\qwtplot3d-0.2.7\qwtplot3d\examples-build-desktop\bin\autoswitch.exe exited with code -1073741515

        出现这个问题的原因是动态库没有在example生成的可执行文件的目录下。

    解决方法:

    打开C:\qwtplot3d-0.2.7\qwtplot3d\lib文件夹,拷贝两个文件libqwtplot3d.a和qwtplot3d.dll。到文件夹:C:\qwtplot3d-0.2.7\qwtplot3d\examples-build-desktop\bin。(注意:这是我example生成的文件夹,要看一下你自己的生成的是不是这个位置)

 

   10、正确运行。看一下运行结果吧。

  

          嘻嘻。按照我这个方法,你肯定也能编译并运行好的。还有啥问题就给我留言吧。或者给我email:qinpanke@gmail.com。我会及时给你解答的。

 

 


我们团队有着十几年的期货程序化交易算法与软件研发经验,基于C++ Qt技术研发了具有自主知识产权的期货智能程序化交易一体化系统平台,该平台封装了二百多个量化指标,具有低时延、高性能、小滑点、可定制和跨平台的特点。团队致力于将人工智能技术与传统的程序化交易技术相结合为客户提供灵活可定制的期货智能程序化交易服务和产品。

       

         2012年10月11日于北京邮电大学学八楼629室

 

 

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

qwtplot3D安装--终结解决方案 的相关文章

随机推荐

  • Firefly安装说明

    第三方库依赖 twisted python memcached DBUtils MySQLdb 安装第三方库 1 easy install twisted windows下可以直接用Twisted 12 2 0 win32 py2 6 ex
  • 十年大厂产品的数据分析宝典(下):数据打点、分析、做图表、监控的实用技巧

    序 上半部分文章主要围绕指标 包括选定关键指标 主要指标VS次要指标 从关键结果指标拆解出过程指标 并定下阶段性目标 这些是数据分析的基础工作 在没有做好之前 不建议直接就开始做功能 打点取数等等 如果这部分已经做好了 那么可以看接下来的文
  • 一些测开面试题及答案(个人梳理)

    这里写目录标题 答案对错自辨 文明观看 有错给我说我改 1 白盒测试 黑盒测试 1 1白盒测试 1 2黑盒测试 2 测试流程 3 bug流程 4 压力测试 5 selenium原理 6 选取元素方法 7 servlet生命周期 8 Java
  • Baseline、Benchmark&SOTA

    Baseline Baseline A baseline is a value or starting point on a scale with which other values can be compared 通俗的讲 一个算法被称
  • 一个通过cookie实现的账号密码保存的案例(会分享cookie设置获取删除的封装函数哦)

    相信大家都玩过QQ 但细心地你是否发现有个保存密码的功能 当你选中保存账号密码时 等你下次登录的时候 将直接为你显示出来你的账号密码 省去了我们再次输入的时间 那么这样一个功能是如何实现的呢 我现在通过cookie简单为大家实现一下这个功能
  • 第六章树和二叉树-作业3-Huffman树

    判断题 1 1 对N 2 个权值均不相同的字符构造哈夫曼树 则树中任一非叶结点的权值一定不小于下一层任一结点的权值 T 选择题 2 1 对N N 2 个权值均不相同的字符构造哈夫曼树 下列关于该哈夫曼树的叙述中 错误的是 D A 树中一定没
  • XXE漏洞原理--简单理解

    XXE漏洞简介 1 XXE漏洞全称XML External Entity Injection 即xmI外部实体注入漏洞 XXE漏洞发生在应用程序解析XML输入时 没有禁止外部实体的加载 导致可加载恶意外部文件 造成文件读取 命令执行 内网端
  • 提供HTTP、HTTPS都可访问的API

    情景说明 考虑到数据的安全传输 现在用到HTTPS进行API调用的越来越多了 本节就介绍如何使自己编写的API能让别人 进行HTTP HTTPS调用 先看一下一般情况 正常编写一个 使用HTTP访问一下 不写的话 默认使用HTTP协议进行访
  • 八、模板方法模式

    定义 模板方法模式 在一个方法中定义一个算法骨架 而将一些步骤延迟到子类中 模板方法使得子类可以在不改变算法结构的情况下 重新定义算法中的某些步骤 UML类图 说明 1 AbstractClass抽象中包含了模板方法 primitiveOp
  • ERC20的创建及合约之间的调用(合约调用合约)

    ERC20 Token ERC20是一个token合约标准 具体的概念和友好的合约库 可参考openzeppelin 接下来的代码创建一个erc20 token SPDX License Identifier GPL 3 0 pragma
  • webupload 实现大文件分片上传

    废话不多说 直接上例子 html代码 div class layui form item div
  • 1.Ros初学笔记

    1 创建workspace 名字是catkin ws mkdir p catkin ws src 2 初始化环境 生成build 编译成功的可执行文件 devel src 代码包 cd catkin ws catkin make 3 为了让
  • Ubuntu JetBrains(JetBrains Account Error:JetBrains Account connection error: www.jetbrains.com)

    问题 Your host may be behind a proxy 在使用学生免费账户登录的时候出现错误 解决 修改 etc hosts文件 将其中的 jetbrains的相关行去掉即可
  • Over-COM:一种可折叠的头部医疗支架

    为了帮助医生对颅内疾病进行更精准的诊断 来自中国的Lailu Li科研团队设计了一个架空可折叠的头部支架 Over COM 该支架包括一个固定在患者头部的装置 外壳 8个线性执行器和1个IMU 惯性测量单元 以及一个远离病人的小盒子 包含微
  • Doc2vec计算文本相似度

    1 Doc2vec模型介绍 Doc2Vec模型基于Word2vec模型 并在其基础上增加了一个段落向量 以Doc2Vec的C BOW方法为例 算法的主要思想在以下两个方面 训练过程中新增了paragraph id 即训练语料中每个句子都有一
  • java栈与队列

    3 栈 栈是一种特殊的线性表 栈只能在一端 栈顶 进行操作 往栈里添加元素叫入栈 删除栈里的元素叫出栈 后进的元素先出 官方栈 java util Stack 栈的应用 浏览器的前进与后退 如果输入三个网址 假设123三个 出栈过程 后退操
  • SpringCloud服务间调用

    SpringCloud服务间的调用有两种方式 RestTemplate和FeignClient 不管是什么方式 他都是通过REST接口调用服务的http接口 参数和结果默认都是通过jackson序列化和反序列化 因为Spring MVC的R
  • 修改jar包增加自己需要功能的操作步骤(小白实践)

    一 修改静态文件的方式比较简单 1 先将要修改的jar包备份 cp xxx jar xxx 2 jar 2 建立一个新的目录便于后面的打包 mkdir jar tmp 3 将包放到刚刚创建的目录里解压 mv xxx 2 jar jar tm
  • GUI系统之SurfaceFlinger(11)SurfaceComposerClient

    文章都是通过阅读源码分析出来的 还在不断完善与改进中 其中难免有些地方理解得不对 欢迎大家批评指正 转载请注明 From LXS http blog csdn net uiop78uiop78 GUI系统之SurfaceFlinger章节目
  • qwtplot3D安装--终结解决方案

    帮同学做一个地热信息展示的软件 需要用到3D显示的内容 一方面 自己比较懒 懒去看OpenGL相关的内容 虽然以前做过3D开发相关的内容 但是毕竟需要处理的代码太多了 另一方面 也是一直在用QWT在帮他做2D图形显示这块 因此就想着用qwt