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

linking visual studio 2010 to intel ipp trial version

esouka
Beginner
441 Views
hi, i am facing problems with linking visual studio 2010 to intel ipp trial version, the errors are the following:
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippmTranspose_m_32f@32 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippsAbs_32f_I@8 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippsSet_32f@12 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenVideo.obj) : error LNK2019: unresolved external symbol _ippiConvert_8u16s_C1R@24 referenced in function "int __cdecl ChenVideo_loadYUVVideo(char const *,enum Resolution,int,int,short * * &,short * * &,short * * &)" (?ChenVideo_loadYUVVideo@@YAHPBDW4Resolution@@HHAAPAPAF22@Z)
1>bin\\LDPC Video DCT_IPP.exe : fatal error LNK1120: 57 unresolved externals
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippmTranspose_m_32f@32 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippsAbs_32f_I@8 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenImageDCT.obj) : error LNK2019: unresolved external symbol _ippsSet_32f@12 referenced in function "int __cdecl ChenImageDCT_blockDCTQuantizeRange(int,short const *,short *)" (?ChenImageDCT_blockDCTQuantizeRange@@YAHHPBFPAF@Z)
1>Chen-Image_IPP.lib(ChenVideo.obj) : error LNK2019: unresolved external symbol _ippiConvert_8u16s_C1R@24 referenced in function "int __cdecl ChenVideo_loadYUVVideo(char const *,enum Resolution,int,int,short * * &,short * * &,short * * &)" (?ChenVideo_loadYUVVideo@@YAHPBDW4Resolution@@HHAAPAPAF22@Z)
1>bin\\LDPC Video DCT_IPP.exe : fatal error LNK1120: 57 unresolved externals
what can i do?
thank you
0 Kudos
8 Replies
Ying_H_Intel
Employee
441 Views
Hello,

Do you set USE IPP => Yes in your project property? like the figure in KB articlehttp://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-compiling-and-linking-with-microsoft-visual-c-and-intel-c-compilers/#10

The trial vesion have exact same functionality as formal version.

Regards,
Ying
0 Kudos
SergeyKostrov
Valued Contributor II
441 Views
>>..._ippmTranspose...
>>..._ippsAbs...
>>..._ippiConvert...

Please check Linker Settings for the Project. It is clear that libraries ( *.lib files )for Matrix ( m ), Signal
Processing
( s )and Image Processing ( i )domains are not included.

Best regards,
Sergey
0 Kudos
esouka
Beginner
441 Views
the problem is that under configuration properties there is no option for intel integrated performance, there are only two options -> general and debugging, how can i set that option, what is wrong here?
thank you
0 Kudos
SergeyKostrov
Valued Contributor II
441 Views
>>...under configuration properties there is no option for intel integrated performance, there are only two
>>options -> general and debugging, how can i set that option, what is wrong here?...

Please take a look at enclosed screenshot. Even if it is from a different post it shows you a sub-tree for
'Linker' settings. Don't pay attention that it shows'System' settings.

So, you should select 'Linker' -> 'Input' itemand then on the right side you will see an item

'Additional Dependencies'

andhere youshouldadd allIPP's lib-files.


0 Kudos
esouka
Beginner
441 Views
the linking instruction of the code i am trying to link say that next to configuration i should setActive (IntelIPP)
instead of Active(Debug), is this the reason for my errors? and therefore i should not add allIPP's lib-files?
The help instructions for linking to ipp library is the following:
Linking to the Intel IPP Library (Optional)
For users who have access to the Intel IPP library, noticeable speed gains can be obtained by utilizing that library in this project. This section can be safely ignored by all other users.
Similar to the processing of linking to the Matlab external interface (see above), we need to specify the path to the Intel IPP files in the Visual Studios project. First, we will find where these files are installed on the computer.
1) Find intelroot, the folder where Intel IPP is installed. For example:
C: / Program Files / Intel IPP
2) The folder containing the necessary header files will be:
intelroot / include
3) The folder containing the necessary library files will be:
intelroot / stublib
Having found the location of the Intel IPP library, we can now update the Visual Studios project.
Linking to the Intel IPP Library (Optional)For users who have access to the Intel IPP library, noticeable speed gains can be obtained by utilizing that library in this project. This section can be safely ignored by all other users.Similar to the processing of linking to the Matlab external interface (see above), we need to specify the path to the Intel IPP files in the Visual Studios project. First, we will find where these files are installed on the computer.1) Find intelroot, the folder where Intel IPP is installed. For example:C: / Program Files / Intel IPP2) The folder containing the necessary header files will be:intelroot / include3) The folder containing the necessary library files will be:intelroot / stublibHaving found the location of the Intel IPP library, we can now update the Visual Studios project.
1) Go into LDPC Video DCT VS 2005. Open the Visual Studios solution file (.sln). There are two projects in this solution: Chen-Image and LDPC Video DCT. Both projects need to be updated.
2) Select project LDPC Video DCT in the Solution Explorer. Select from the menu bar Project > Properties.
3) In the dialog that pops up, select the Configuration Properties menu.
4) In the Configuration menu at the top, make sure the setting reads Active (IntelIPP) rather than Acitive (Debug).
5) Select the sub-menu C/C++ > General. In the line Additional Include Directories, we need to input the location of the Intel IPP header files found above.
6) Select the sub-menu Linker > General. In the line Additional Library Directories, we need to input the location of the Intel IPP library files found above.
7) Close OK to save the options and close the dialog.
8) Repeat steps 2-7 for the other project Chen-Image in the same solution.
9) Select from the menu bar Build > Rebuild Solution.
what can i do?
thank you
0 Kudos
esouka
Beginner
441 Views
when i put in additional dependencies any header file such as ippi.h, it tells me
LINK : fatal error LNK1104: cannot open file 'ippi.h'
the problem is that a have already set the path to the ipp include directory where these header files exist and it still gives the same linking error.
what can i do?
thank you
0 Kudos
SergeyKostrov
Valued Contributor II
441 Views

Hi, please read my comments.

>>...when i put in additional dependencies any header file such as ippi.h, it tells me
>>LINK : fatal error LNK1104: cannot open file 'ippi.h'...

[SK] Files with extension *.h are C/C++ headers. Usually, developers call them as 'headers'.

[SK] Files with extension *.lib are libraries. Usually, developers call them as 'libs'.

>>...the problem is that a have already set the path to the ipp include directory where these header files >>exist and it still gives the same linking error...

[SK] It happened because 'ippi.h' is not a library. It is a header and it has to be included in some
C/C++ source file.

>>what can i do?

Let's say:

1. IPP is installed on a drive C in a folder IPP: a full path is C:\IPP

2. You have a C/C++ VS 2010 project MyIppTest.vcxproj

3. Source file MyIppTest.cpp is added to the MyIppTest.vcxproj

4. You want to call a function ippiConvert_8u16s_C1R fromanImage Processinglibraryippi.lib

5. You will need to use a ippi.h header located at C:\IPP\Include folder to compileMyIppTest.cpp

6. You will need to use a ippi.lib library located at C:\IPP\Lib folder to link and create an executable file
MyIppTest.exe

7.In VS 2010 Solution Explorer selectMyIppTest.vcxproj and click right mouse button

Select last item Propertiesin the popup window

Select in a Tree on the left part of the dialog box:

'Configuration Properties' -> 'C/C++' -> 'General' -> 'Additional Include Directories'

Add a path to header files: C:\IPP\Include

Note: As far as I understood you've done this already. So, please verify that
C:\IPP\Includewas added

Select in a Tree on the left part of the dialog box:

'Configuration Properties' -> 'Linker' -> 'Input' -> 'AdditionalDependencies'

Add a path to an Image Processinglibrary file: C:\IPP\Lib\ippi.lib

8. Modify your source file 'MyIppTest.cpp' and itshould look like:

...
#include "ippi.h"
...
ippiConvert_8u16s_C1R( ... )
...

9. Compile your project.

In your case the most importantisstep 7.

Best regards,
Sergey

0 Kudos
esouka
Beginner
441 Views
I solved the problem by installing an older version of intel ipp, i installed version 5.3.
0 Kudos
Reply