1.下载IT++最新版:<a href="http://sourceforge.net/projects/itpp/">http://sourceforge.net/projects/itpp/</a>目前版本是4.0.6;下载intel 数学库 MKL:<a href="http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm">http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm</a>目前版本是10.1(如果使用AMD的CPU下载ACML),该库收费,可下载一个月的评估版试用。

2.安装MKL

3.解压缩IT++,在其win32子目录下有VC的工程,双击文件 itpp_mkl.sln,进入VS2005 IDE环境。

4.菜单 工具》选项》项目和解决方案》VC++目录;可执行文件中添加MKL可执行文件目录(C:\Program Files\Intel\MKL\10.1.1.022\ia32\bin);包含文件中添加MKL头文件目录(C:\Program Files\Intel\MKL\10.1.1.022\include);库文件中添加MKL库访问路径(C:\Program Files\Intel\MKL\10.1.1.022\ia32\lib).

5.编译工程,出现以下错误提示:

------ 已启动生成: 项目: itpp_mkl, 配置: Release Win32 ------
正在编译...
transforms.cpp
..\itpp\signal\transforms.cpp(74) : error C2589: '(' : illegal token on right side of '::'
..\itpp\signal\transforms.cpp(74) : error C2143: syntax error : missing ';' before '::'
..\itpp\signal\transforms.cpp(90) : error C2589: '(' : illegal token on right side of '::'
..\itpp\signal\transforms.cpp(90) : error C2143: syntax error : missing ';' before '::'
..\itpp\signal\transforms.cpp(107) : error C2589: '(' : illegal token on right side of '::'
..\itpp\signal\transforms.cpp(107) : error C2143: syntax error : missing ';' before '::'
..\itpp\signal\transforms.cpp(131) : error C2589: '(' : illegal token on right side of '::'
..\itpp\signal\transforms.cpp(131) : error C2143: syntax error : missing ';' before '::'
项目 : warning PRJ0018 : 未找到下列环境变量:

其原因是intel MKL 10.1版本比之前有所改动,造成与IT++匹配问题,找到..\itpp\signal\transforms.cpp文件,在其中加入一行:

#ifndef _MSC_VER
#  include &lt;itpp/config.h&gt;
#else
#  include &lt;itpp/config_msvc.h&gt;
#endif

#if defined(HAVE_FFT_MKL)
namespace mkl
{
#  include &lt;mkl_dfti.h&gt;
&lt;--在这里添加:# undef DftiCreateDescriptor
}
#elif defined(HAVE_FFT_ACML)
namespace acml
{
#  include &lt;acml.h&gt;

6.再编译,会通过,同时在IT++ 的win32子目录下生成lib目录,其中根据debug/release选择会产生itpp_debug.lib/itpp.lib,至此IT++ lib文件生成,可以使用了。

7.现在,通过例程示范,使用IT++ lib,首先在VC环境中指定相关路径。工具》选项》项目和解决方案》VC++目录,在包含文件中再加入IT++头文件路径(E:\itpp-4.0.6);在库文件中加入刚才生成的lib文件路径(E:\itpp-4.0.6\win32\lib)。

8.新建项目工程,选择win32控制台程序,命名test,在IT++tests置目录下随便选择一个测试文件,比如filter_test.cpp,导入该项目。

9.右键test项目属性》链接器》输入 中附加依赖项,加入 itpp.lib mkl_c_dll.lib,在忽略特定库中添加uuid.lib。

10选择release编译,执行,会看到控制台窗口执行测试程序。

(2009.3.2)

旧文备份:windows下编译和使用IT++的更多相关文章

  1. Windows下编译objective-C

    Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

  2. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  3. [分享]windows下编译squid的经验(转)

    squid是什么我这里就不说了,这不是本文的重点,总之它是一个集:代理.加速.缓存.负载均衡.防盗链.访问控制等多功能的一个超牛X开源软件,如今已经广泛应用于很多领域.对于缓存和加速这一领域,如今各大 ...

  4. Windows下编译最新版ChezScheme

    据说ChezScheme是最快的神级编译器,一秒钟几百万行,王垠说的2秒内编译自身绝不是夸张(看这里<揭秘Chez Scheme>,Scheme中文社区).ChezScheme由美国印第安 ...

  5. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  6. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  7. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  8. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  9. windows下编译java源文件的编码错误

    import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...

随机推荐

  1. form表单序列化数据之后,追加额外数据

    form表单序列化数据之后追加额外数据多使用在js中,下面是追加额外数据的代码: <span style="font-size:18px;">$.param({'inv ...

  2. 性能测试工具LoadRunner28-LR之内部数据参数类型

    Date/Time 在“Parameter type”中您可以选择Date/Time,即:用当前的日期/时间替换参数.要指定日期/时间的格式,可以从格式列表中选择一个格式,或者指定您自己的格式. [l ...

  3. org.apache.subversion.javahl.ClientException: Working copy is not up-to-date

    之前因为将项目中的一个文件删除了,然后添加了新的文件,svn提交的时候报错. 提示:Working copy is not up-to-date 解决办法:对应的项目上右键然后选择team,然后选择u ...

  4. [PHP]Mysql的运用

    1.创建数据库和表,代码如下: //创建数据库函数 function createDB($DBname){ $query="CREATE DATABASE $DBname"; re ...

  5. jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)

    最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...

  6. http request 字段

    Accept: 客户端支持的文件类型, 如果为/表示任何类型 Accept-Encoding: 客户端浏览器支持的文件压缩格式 Accept-Language: 客户端支持的语言 User-Agent ...

  7. Mysql显示行号

    SELECT `Name`,(@rowNum:=@rowNum+1) AS rowNo FROM bas_student,(SELECT (@rowNum :=0)) a LIMIT 10;

  8. mybatis SqlSession事务

    mybatis版本:3.4.6. mybatis默认的SqlSessionFactory是DefaultSqlSessionFactory,它openSession()的源码是: public Sql ...

  9. mybatis springmvc批量删除 2最新

    service层: @Override public void batchDeletes(List list) { creditDao.batchDeletes(list); } 控制层control ...

  10. pm2的的常用命令及用法

    使用pm2启动静态文件服务器的方法如下: pm2 serve path port pm2 serve . 9001 这样就可以把当前文件夹下的静态文件跑起来了,而且端口号是9001, 同样也支持进阶的 ...