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

MS VC++ 2008 Express Edition Linker Error

alessandroferrucci
406 Views
Hello,
I am currently evaluating IPP for a new project. I'm using MS VC++ 2008 Express Edition on Windows Vista on Intel Corei7. I have installed em64t IPP evaluation package. I wrote a very simple stub program to test compilation and linkage to IPP libs. this is it :

#include
#include
#include "ipp.h"
using namespace std;
int main(int argc, char *argv[])
{
const IppLibraryVersion* libVersion = ippGetLibVersion();
return 0;
}

I have set following system variables:

INCLUDE = C:\Program Files\Intel\IPP\6.1.1.035\em64t\include
LIB = C:\Program Files\Intel\IPP\6.1.1.035\em64t\stublib
Path = C:\Program Files\Intel\IPP\6.1.1.035\em64t\bin

In MS VC++ I have added the following dirs:

1) -> "Tools" -> "Options" -> "Projects and Solutions" -> "VC++ Directories" -> "Executable Files" = C:\Program Files\Intel\IPP\6.1.1.035\em64t\bin

"Include Files" = C:\Program Files\Intel\IPP\6.1.1.035\em64t\include
"Library Files" = C:\Program Files\Intel\IPP\6.1.1.035\em64t\stublib

2) Right Click on project -> "Properties" -> "Linker" -> "Input" -> "Additional Dependencies" I have added value ippcoreem64t.lib

When I go to build project I get:


1>------ Build started: Project: ipptest, Configuration: Debug Win32 ------
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol _ippGetLibVersion@0 referenced in function _main
1>C:\Users\ale\Documents\Visual Studio 2008\Projects\ipptest\Debug\ipptest.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Users\ale\Documents\Visual Studio 2008\Projects\ipptest\ipptest\Debug\BuildLog.htm"
1>ipptest - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Any ideas as to why this compiles but does not link?

I have looked through all relevant forum entries but found nothing that worked/helped.

Thank you very much,

Alessandro Ferrucci
0 Kudos
4 Replies
TimP
Honored Contributor III
406 Views
You can't link 64-bit libraries in a 32-bit build, which is all VC++ Express supports. You may not consider them "relevant," but surely there are forum entries about these 2 topics separately, perhaps not in combination.
0 Kudos
Ying_H_Intel
Employee
406 Views

Hi Alessandro,

Right, you may either change your project to "X64" by menu Build=>Configuration manager=>Active solution Platform or install ia32 IPP library and link 32bitippcore.lib.

Regards,
Ying
0 Kudos
Gennady_F_Intel
Moderator
406 Views

Alessandro,

As an additional info, please use the following article help you to chose the correct libraries for building a windows based application using Intel IPP and the second one : Intel IPP for Windows* - Find the Intel IPP Libraries Needed by Your Application.
--Gennady

0 Kudos
alessandroferrucci
406 Views

Alessandro,

As an additional info, please use the following article help you to chose the correct libraries for building a windows based application using Intel IPP and the second one : Intel IPP for Windows* - Find the Intel IPP Libraries Needed by Your Application.
--Gennady


Ok thank you very much. I have fixed my issue with MS VC++. I have installed full release of MS VC++ 2008 and set my platform to x64 and now it links successfully. When I go to release this in production I will actually be running in CentOS not Windows.

regards,
alessandro ferrucci
0 Kudos
Reply