Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Possible Install/Link Issues

khalberg
Beginner
570 Views
I am running Win7 Pro 64bit with VS 2010. I have installed the IPP v7.0.1.127 for intel64. I have also downloaded the sample code w_ipp-samples_p_7.0.1.046. When I start Parallel Studio XE 2011 with VS 2010 from the Start Menu / Parallel Studio XE 2011 I do not see the entries under right click under a project as indicated in the tutorial. I also see that the directory that all this is in is under Composer XE 2011. I also have to add my include directory and lib directory into the project. Even with this the linker fails when I build any project such as the Face Detection with messages as follows: Error 1 error LNK2019: unresolved external symbol _ippsZero_8u@8 referenced in function "public: __thiscall CCluster::CCluster(int)" (??0CCluster@@QAE@H@Z) C:\\Users\\khalberg.KCCSI\\Documents\\w_ipp-samples_p_7.0.1.041\\ipp-samples\\image-processing\\Face_Detection\\FaceDetection.obj Face_Detection ... Error 19 error LNK2019: unresolved external symbol _ippiHaarClassifierInitAlloc_32f@32 referenced in function "enum IppStatus __cdecl AdjustHaarClassifier(int,float)" (?AdjustHaarClassifier@@YA?AW4IppStatus@@HM@Z) C:\\Users\\khalberg.KCCSI\\Documents\\w_ipp-samples_p_7.0.1.041\\ipp-samples\\image-processing\\Face_Detection\\FaceDetection.obj Face_Detection What am I missing? Thanks, Kevin
0 Kudos
9 Replies
Gennady_F_Intel
Moderator
570 Views
Kevin,
What IPP libraries did you use for linking the application?
--Gennady
0 Kudos
khalberg
Beginner
570 Views
Gennady, I am trying to use the dynamic link libraries in the directory under ipp\lib\intel64. I see there are three types of libraries, but I am not sure of what would be specifying which to use. I would think these would have been seperated into directories so that the correct directory could be selected. I think a lot of this would be fixed, if the VS 2010 was bringing in the correct configuration. I have another problem as well with another test application that is calling ippStaticInit. It appears that even though name mangling is turned off in the ipp headers, the linker is looking for _ippStaticInit@0. Any ideas there? Kevin
0 Kudos
Gennady_F_Intel
Moderator
570 Views
Kevin, may be this article will help you tounderstandmore clearly the difference between three types of libraries. Regarding the next problem with IppStatic - could you please look at the another article which described the IPP Linkage mode. Gennady
0 Kudos
khalberg
Beginner
570 Views
Gennady,

The files in the 7.01 package seem very different and I don't see the updated documentation for them. For instance I do not see any merge files that were previoiusly there and documented. In the second link on IPP Linkage mode you gave there is a reference for the dynamic linking I am trying to do: Build Link -to stub dispatch libraries, where and what are these called? Here are some questions I need answers for:

First off why is the install of the intel64 bit IPP going in the Program Files (x86) area and not Program Files area?
Why is the directory now ComposerXE-2011 for the IPP files? Am I missing the actual IPP setup?
For a 7.01 install where are the libraries I should be using (ComposerXE-2011\ipp\lib\intel64)?
Why are the different link models all in the same directory instead of seperated out? How do you reference these?
Why would I be seeing name mangling on the ipp calls using the standard headers?
Why am I not seeing the same right click menu on VS 2010 as indicated in the documentation?
Where is ipp_mx.h now? It is clearly stated in a readme in the directory on static linking, yet no were in the directory structure?

Sorry for all these questions, but I have been looking at this for days and nothing is working!

Thanks,
Kevin
0 Kudos
Gennady_F_Intel
Moderator
570 Views
Kevin,
regarding version 7.0: we have pretty big pool of KB articles describing the new features of the Intel IPP version 7.0. The Intel IPP KB site: "http://software.intel.com/en-us/articles/intel-ipp-kb/all/1/".
Regarding new functions naming and what libraries you need to select for linking with the new (7.0) version, I'drecommendyou first of all to looks at the following 2 articles: "new directory structure and library naming scheme..."and the second "selected libraries needed by your application".
hope it will help.
--Gennady
0 Kudos
khalberg
Beginner
570 Views
Gennady,

Thank you very much for those links. They are the most helpful I have seen. Any ideas on why I don't have the menu structure in VS 2010? I have VS 2005 and VS 2010 installed and I am actively using VS 2010. The only menu I see is Under Tools/Options Intel Performance Libraries and selecting this I see the Target Platform of x64 and the Library Type of IPP for 7.0.1. Are those entries in the right click of a project missing due to the lack of an Intel compiler or such? I think I am also missing some buttons in VS for the same.

Thanks,
Kevin
0 Kudos
Ying_H_Intel
Employee
570 Views
Hi Kevin

Can you see the selection inyour project property page? If yes, you canseletct Use IPP= Yes, then all IPP enviornment should be ready in VS2010. This option is for settingIPP envioronment in MSVC2010.




The menu Tools=>Options like below figureis for selecting right IPP version. for example, if you install several versions on the same machine, then select the one you wanted to used. the default is latest.
It's just play a auxiliary role.

And the IPP environment setting is different in MSVC 2005. In MSVC IDE, you mayclick rightkey and see Intel C++ Compose XE 2011=> Select Build components, check the box of Use IPP.Thepageis below.

Please note whatever you install Intel composer or not, if install IPP 7.xand intergrate into MSVC, then the
Intel C++ Compose XE 2011 and Select Build components are visiable by right key.


If all of them don't work well, then you may set them manually as
the article Compiling and Linking with Microsoft* Visual C++* and Intel C++ Compilershows.

Hope it helps
Ying H.
0 Kudos
khalberg
Beginner
570 Views

Ying,

Thank you for your help. I had been using the first selection of Parallel Studio XE 2010 with VS2010 that is found in the Program Files Intel Parallel Studio XE 2011. I had also tried the command prompt. Neither would bring up that first menu for any project I had. Whatfinally didwork is using what wasin theIntel Compiler XE menu called"Using VS2010". I am now able to see the correct menus. I also had to select x64 since the Win32 default did not bring this up.

Kevin

0 Kudos
Ying_H_Intel
Employee
570 Views
Hi Kevin

Could you tell theexact packagename when youinstall the Parallel Studio XE 2011? I means, for example, there are both ia32/X86_64bit package, seperate 32bit and 64bit package. Which one is you install?
According to your discription, the problem seems the Parallel Studio XE 2011 haven't intergated to the VS2010 correctly. Otherwise, the effect of use the Parallel Studio XE2011 with VS2010 and "using VS2010 under Intel Compiler XE menu should be same.

Additionally, the parallel studio XE 2011 actuallyinclude 4 sub-products, like Intel Composer XE 2011. So did you install the packagewith awhole package or installe/updateone of productspartly?

Regards
Ying
0 Kudos
Reply