星期三, 四月 16, 2008

编译Win版本Qtiplot

以前我有篇叙述如何编译Linux版本的Qtiplot的文章,现在介绍一下Win下面编译的过程,仅供参考,Linux下已经直接提供了可运行得免费版本了。需要注意,系统应安装好了Qt和MinGW,并且所有操作在Qt Command Prompt下执行(环境变量包含Qt和MinGW的bin目录)。所有编译的库为静态库版本。

  1. 下载qtiplot qwtplot3d gsl muparser源码包
  2. 解压缩所有文件夹,把库文件都放到qtiplot的3rdparty目录下,并去掉版本号,加上自带版本,目录如下:
    gsl、liborigin、muparser、qwt、qwtplot3d、zlib123
  3. 编译Qwt:自带的Qwt已经把qwtconfig.pri中的CONFIG += QwtDll注释了,所以不需要修改,直接在qtw目录执行qmake和make命令。如果是自己下载的,需要注释这么一句,编译成静态;
    同时设置CONFIG           += release,表明编译为release版本
  4. 编译qwtplot3d:注释掉qwtplot3d.pro中的win32:TEMPLATE    = vclib,因为我们使用的是MinGW,如果使用msvc就需要注释了;
    CONFIG           += qt warn_on opengl thread zlib debug,把最后一个参数debug改为release,编译release版本,debug版本有37M,release才600K不到;
    按照linux下面的编译说明,需要编译为静态的,但是切记在win下不需要,否则会出现opengl库未定义的情况,为此我郁闷了好久,无意中弄好的。然后仍然是qmake和make;
  5. 编译muparser:进入muparser\build目录,运行mingw32-make -fmakefile.mingw,默认编译静态release版本库,需要更好则修改makefile.mingw;
  6. 编译gsl:首先要保证安装了msys和msysDTK,这是MinGW平台的工具集,主要提供bash及开发所需要的工具。然后使用这个环境编译gsl,./configure --prefix=存放目录,make,因为默认同时编译静态库和动态库,所以不需要更改什么,直接把存放目录命名为gsl放到3rdparty下面就可以了,目录里面需要包括include和lib文件夹;
  7. 下载zlib123预编译版本,放到原有的zlib123目录下,minigzip.c和zdll.lib都需要有;
  8. 编辑qtiplot目录下的qtiplot.pro: 屏蔽SCRIPTING_LANGS += Python,取消Python语言支持,因为总是需要特定版本的Python和SIP才能用,暂时不需要这个功能。然后qmake,make

经过漫长的等待,就可以看到qtiplot.exe啦。运行需要把qwtplot3d.dll拷过来,当然还需要一大堆的Qt库,在自己机器上,就只要把Qt的bin目录加到PATH环境变量里面去。需要注意,Matlab2008也带有一个不同版本的Qt库,所以要把Qt库放到可能有Qt库的路径前面,要不然会出现找不到入口的错误。

然后……你就有一个origin的替代品了,如果用得好,可以考虑捐助一下,哈哈

没有评论: