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。我会及时给你解答的。