关于intel ipp在64位win7的vs2010中的使用,想编win32的程序存在的有关问题

关于intel ipp在64位win7的vs2010中的使用,想编win32的程序存在的问题
本帖最后由 peterlee1983 于 2012-06-21 10:57:45 编辑
在64位win7的vs2010中,想开发win32的程序

1 那么所用的库也都需要是在win32下开发的吧?那么,我就需要选用intel ipp的ia32的lib吧?

2 在编译配置时,需要怎么样设置ipp的编译的环境呢???

问题2是关键

我已经能够编译通过了,但是。。。运行不了,估计是程序配置的问题。
错误信息在下面给了,大家帮忙看一看。

谢谢。

------解决方案--------------------
启动报这个错应该是DLL没找到
------解决方案--------------------
你需要搞清楚 IPP有动态库和静态库 不同版本也有差异

因为是C++的,所以不同编译器的版本也不能保证兼容
------解决方案--------------------
 warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
的问题是因为你没有完全按照编译器的语法,如果你习惯于老语法,建议改为引用/NODEFAULTLIB:library

VID.lib的问题很好解决,下载VID.lib,放到vs库文件夹里 然后在H文件里引用
------解决方案--------------------
你看你项目属性里 c/c++下runtime library是否统一
一般都是用multi-threade dll /MD(release下)和 multi-threade debug dll(debug下)/MDd 的
如果多个第三方库混用了MD和MT(Multithreade)
就会报warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

运行时会发生找不到msvcr90(80,100).dll和msvcp90(80,100).dll(CRT)错误

只要统一runtime library即可,有时可能要重编译第三方库。
------解决方案--------------------
IPP 手册, 学吧

Linking Your Application with Intel(R) IPP

link 这个章节,讲了 三个内容

1.Dispatching:  ipp有针对数十种不同处理器的优化, 
比如ippsCopy, 是个,扣肉2优化的 v8_ippsCopy_(), sse4优化的u8_ippsCopy_(), 不同的前缀, v8,u8,s8,e9... 针对不同处理器优化。  

2.Selecting Between Linking Methods

 •Dynamic linking using the run-time dynamic link libraries (DLLs)

•Static linking with dispatching by using emerged and merged static libraries

•Static linking without automatic dispatching using merged static libraries

•Dynamically building your own - custom - DLL.

介绍不同link 方法的区别

3.•Selecting the Intel(R) IPP Libraries Needed by Your Application
介绍 不同的 .h头文件,和 .lib
ippac.h ippcc.h ippch.h .......ippgen.h 
ippac_l.lib ..........ippcore_l.lib


一切,回到 手册,参照对应的 sample。 (VS 2010 的帮助系统,太垃圾了。 还是打开 开始菜单,intel xxx文件夹,里面的docu..文件夹,翻看 chm,pdf 版本的手册)



------解决方案--------------------
intel , mkl, tbb, ipp,等库,模板, 一骑绝尘的性能

还有vtune,inspector等。

可惜intel的开发工具,不能像 intel的处理器那样的市场份额。
------解决方案--------------------
没有ipp7的license,用评估版的到期了会有什么后果???