Qt5.7.0 mingw+qwtplot3D 编译


一、基本编译问题

在安装的过程中却遇到了很多的问题。咨询了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编译并运行通过。没问题,继续看下面的。


二、我碰到的编译问题

上面6个步骤为网上的主要解决方案,这里我碰到的是可以找到各个include文件,但是为引用的lib文件未找到,报错如下:

\qwtplot3d\src\qwt3d_axis.cpp:120: error: undefined reference to `_imp__glBlendFunc@8'
\tmp\qwt3d_axis.o:-1: In function `ZN5Qwt3D4Axis8drawBaseEv':
\qwtplot3d\src\qwt3d_axis.cpp:178: error: undefined reference to `_imp__glBegin@4'
\qwtplot3d\src\qwt3d_axis.cpp:179: error: undefined reference to `_imp__glVertex3d@24'
\qwtplot3d\src\qwt3d_axis.cpp:180: error: undefined reference to `_imp__glVertex3d@24'
\qwtplot3d\src\qwt3d_axis.cpp:181: error: undefined reference to `_imp__glEnd@0'
//...
//外加300+的错误

把Google翻阅好几遍,总于看到引用opengl相关的,原因是没有引入gl相关的库文件,但是这个文件名称不是按照套路来,是libgl.a或者gl.lib之类的,是OpenGL32.a,猝不及防啊!!

需要在qwtplot3d.pro下加入:

LIBS += -lopengl32 -lglu32 -lglut

再编译就没问题了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值