我是靠谱客的博主 粗心篮球,最近开发中收集的这篇文章主要介绍qwtplot3d mingw 编译笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文最初写于2010-03-17  于 sohu 博客,这次博客搬家一起搬到了这里。

版权所有,转载请注明出处。

 

qwtplot3d 用 Qt 和 OpenGL 实现的 Qt 控件库,效果还不错,但是好像07年之后就没有更新了。可能是作者觉得已经很完善了,不需在更新了。

qwtplot3d 在 win 平台上用 mingw 编译还挺麻烦,花了一整天时间才搞定。

首先需要修改 qwtplot3d.pro 文件。

原始的 qwtplot3d.pro 文件只考虑到了在 win 平台下使用 visual studio 来编译,没有提供 mingw 的支持。

需要修改的地方如下:

CONFIG           += qt warn_on opengl thread zlib debug

修改为:

CONFIG      -= debug_and_release

CONFIG           += qt warn_on opengl thread zlib release

之所以要修改为 release 模式,是因为 debug 模式的动态连接库有将近 10M 大小,而且最终生成应用程序时会莫名的出错。

win32:TEMPLATE    = vclib

修改为:

win32:TEMPLATE    = lib

或直接注释掉也可以。


原始的qwtplot3d.pro 文件有这样一行。

linux-g++:TMAKE_CXXFLAGS += -fno-exceptions


看样子是 g++ 编译时应该加上 -fno-exceptions 选项。

因此,将

win32:CONFIG     += dll exceptions

修改为:

win32:CONFIG     += dll

再加上一行:

TMAKE_CXXFLAGS += -fno-exceptions


从gnuwin32 项目可以下载到 zlib 的编译好的库文件。因此注释掉下面这句。

# win32:CONFIG -= zlib


最后:

# zlib support for gl2ps

zlib {

  DEFINES += GL2PS_HAVE_ZLIB

  win32:LIBS += zlib.lib

unix:LIBS  += -lz

}

改为:

# zlib support for gl2ps

zlib {

  DEFINES += GL2PS_HAVE_ZLIB

  win32:LIBS += ./libz.a

unix:LIBS  += -lz

}


当然,需要把 libz.a 放到这里指定的位置,也就是当前目录下。另外,zconf.h 和 zlib.h 一定要在 gcc 的头文件搜索路径中,否则找不到这两个头文件,编译 gl2ps.c 会报很多错误。

qmake 

make


就编译好了。


然就可以编译自带的例子了。

进入 examples 目录。

修改 common.pro 文件比较容易,不想细说了,改动过的地方如下,请自己对照着看吧。

CONFIG      -= debug_and_release

CONFIG      += qt warn_on thread release

#linux-g++:QMAKE_CXXFLAGS += -fno-exceptions

QMAKE_CXXFLAGS += -fno-exceptions

win32{

  LIBS += ../../lib/libqwtplot3d.a

  TEMPLATE  = app

  DEFINES  += QT_DLL QWT3D_DLL

  RC_FILE = ../icon.rc

 # contains (CONFIG, release)  {

    #QMAKE_LFLAGS += /NODEFAULTLIB:msvcrt

#  }


另外,从qwtplot3d 的代码中还学到了一招。就是如何为编译出的 exe 文件设定图标。

就是建一个 icon.rc 文件。里面添加一行:

IDI_ICON1               ICON    DISCARDABLE     "icon.ico"

当然,我们要有 icon.ico 文件。

然后在 pro 文件中包含如下一行:

 RC_FILE = icon.rc


这样编译出的可执行文件就有特定的图标的。



 

最后

以上就是粗心篮球为你收集整理的qwtplot3d mingw 编译笔记的全部内容,希望文章能够帮你解决qwtplot3d mingw 编译笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部