qwtplot3D安装--终结解决方案

          帮同学做一个地热信息展示的软件,需要用到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安装--终结解决方案_第1张图片

          解决方法:

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

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

          qwtplot3D安装--终结解决方案_第2张图片

           解决方法:

           打开左侧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、正确运行。看一下运行结果吧。

  qwtplot3D安装--终结解决方案_第3张图片

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

 

 


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

       

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

 

 

你可能感兴趣的:(QT)