1.2 IT++安装
1.2.1 系统要求
IT++可以在GNU/Linux、BSD、UNIX和Windows系统下运行。在微软的Windows NT/2000/XP系统下,可以在Microsoft Visual C++ .NET等平台上使用。对于GNC/Linux, FreeBSD和Solaris SunOS,Cygwin和MinGW系统,需要预先安装相应的GNU软件。
1.2.2 安装IT++
在Visual C++ Express 2005软件环境下,要使用IT++的函数库,首先要编译一个静态库。以下是完整的安装编译过程。
(1)下载并安装Visual C++ Express 2005。这个安装非常简单,但需要一个较快的网速,因为安装过程要下载一个300 MB的软件包,如果你喜欢本地安装,也可以从刻录的CD中安装。
(2)下载并安装微软的SDK平台。调用IT++的实时函数需要安装一个免费的包,有三种选择:网络安装,下载整个安装包安装或者从刻录的CD上安装。安装时可以选择部分需要的函数包。SDK的安装界面如图1-1所示。
图1-1 SDK安装界面
完成SDK平台的安装以后,就可以使用Visual C++ 2005。
(3)下载并安装IT++ Version 4.0.6(建议安装在C盘的根目录下)。
(4)编译IT++库。编译IT++库的步骤如下:
① 在安装IT++的子目录(\itpp-4.0.6)下创建子文件夹lib。
② 复制以下文件到lib这个子目录。
blas wi32.lib lapack win32.lib libfftw3-3.lib
③ 复制以下文件到子目录 \windows\system32。
blas wi32.dll lapack win32.dll libfftw3-3.dll
④ 启动Visual C++ 2005,打开并编辑文件config_msvc.h。此文件位于\itpp-4.0.6\itpp。用
#if defined(HAVE_ACML)|| defined(HAVE_MKL)|| defined(HAVE_FFTW3)
替换第三行的
#if defined(HAVE_ACML)|| defined(HAVE_MKL)
并保存修改。
⑤下载文件fftw3.h并保存在目录\itpp-4.0.6\itpp下;编辑文件\itpp-4.0.6\itpp\signal\transforms. cpp,并将该文件第48行修改为
#include <itpp/fftw3.h>
注意保存修改的文件。
⑥ 打开位于C:\itpp-4.0.6\win32目录下的工程itpp_mkl.sln。在默认情况下,这个工程是调试模式的,即生成库将包含调试符号。这些符号允许调试器在调试期间给出有用的信息。在编译之前,需修改以下项目属性(项目/属性菜单),如图1-2到图1-5所示(图中显示的是最后的设置结果)。
图1-2 C/C++语言的属性
图1-5 生成库的设置
图1-3 C/C++预处理设置
图1-4 C/C++代码生成器的设置
现在可以启动编译(建立生成方案菜单或者按F7键)调试库函数。若运行正常的话,在子目录lib下会找到一个61 MB的、文件名为itpp-debug2005.lib的文件。
⑦ 继续用Release版本编译IT++库,即将解决方案配置从Debug模式改成Release模式,如图1-6所示。
图1-6 编译模式设置
在编译之前,还需要修改以下的项目属性(项目/属性菜单),如图1-7到图1-11所示。
图1-7 C/C++生成器设置
图1-11 生成库设置
图1-8 C/C++最优化设置
图1-9 C/C++预处理设置
图1-10 C/C++代码生成器设置
现在开始编译(建立/生成解决方案菜单或者按F7键),对Release版本生成库。若一切正常,就能在lib的子目录下找到一个名为itpp-rel2005.lib的、大小为16 MB的文件。这类库中包含的代码要比Debug模式快得多。
现在已经建立了IT++库的链接,下面就可以开始建立自己的IT++应用程序。为了简化建立的过程,可以创建一个自动创建项目的模板。
(5)下载模板Wizard(itpp_matmex_vc_express.zip)。将下载的文件解压到目录C:\Program Files\Microsoft Visual Studio 8\VC\Express。
假如把IT++安装在C盘根目录下,这不需要做任何事情。如果IT++安装在其他的目录下,需要编辑文件C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\IT++\Scripts\1033\default.js并且修改以下两行,将路径改为相应的安装路径。
var ITPP_LIB_PATH = "C:\\itpp-4.0.6\\lib"; var ITPP_INC_PATH = "C:\\itpp-4.0.6\\";