Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

MS VC++ 2008 Express Edition Linker Error

alessandroferrucci
146 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
Black Belt
146 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.
Ying_H_Intel
Employee
146 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
Gennady_F_Intel
Moderator
146 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

alessandroferrucci
146 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
Reply