Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mweissbach
Beginner
160 Views

Linking error IPP 6.0 with Visual Studio 2008 (with clr)

Hi everybody.

I'm new in using Visual Studio and have a problem with the linking options.

I have the evaluation version of the IPP 6.0.1.
I have a not managed library using /clr and the IPP (static lib / links the ippiemergedem64t.lib)
I want to link this library to an Windows Forms Application (therefore i compile the lib with /clr).

My problem is:
The lib compiles and links without any error.
When I want to link the library to the Forms-Application I get this errors:

Error2error LNK2028: unresolved token (0A00032C) "extern "C" enum IppStatus __stdcall ippiConvValid_32f_C1R(float const *,int,struct IppiSize,float const *,int,struct IppiSize,float *,int)" (?ippiConvValid_32f_C1R@@$$J240YG?AW4IppStatus@@PBMHUIppiSize@@0H1PAMH@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error3error LNK2028: unresolved token (0A0003AA) "extern "C" enum IppStatus __stdcall ippiAbs_32f_C1IR(float *,int,struct IppiSize)" (?ippiAbs_32f_C1IR@@$$J216YG?AW4IppStatus@@PAMHUIppiSize@@@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error4error LNK2019: unresolved external symbol "extern "C" enum IppStatus __stdcall ippiAbs_32f_C1IR(float *,int,struct IppiSize)" (?ippiAbs_32f_C1IR@@$$J216YG?AW4IppStatus@@PAMHUIppiSize@@@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error5error LNK2019: unresolved external symbol "extern "C" enum IppStatus __stdcall ippiConvValid_32f_C1R(float const *,int,struct IppiSize,float const *,int,struct IppiSize,float *,int)" (?ippiConvValid_32f_C1R@@$$J240YG?AW4IppStatus@@PBMHUIppiSize@@0H1PAMH@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib


Can anybody tell me, why this error occurs? I linked also the libs of the IPP in my Application without any effect.

Thanks in advance

MWeissbach

edit: It seems that MS-VS2008 needs an __clrcall and the IPP declares it as __declspec. This is only an assumption after looking for the error the whole day ... Can anybody help? Thanks a lot!
0 Kudos
6 Replies
elhefe38
Beginner
160 Views

Hello

Quoting - mweissbach
Hi everybody.

I'm new in using Visual Studio and have a problem with the linking options.

I have the evaluation version of the IPP 6.0.1.
I have a not managed library using /clr and the IPP (static lib / links the ippiemergedem64t.lib)
I want to link this library to an Windows Forms Application (therefore i compile the lib with /clr).

My problem is:
The lib compiles and links without any error.
When I want to link the library to the Forms-Application I get this errors:

Error2error LNK2028: unresolved token (0A00032C) "extern "C" enum IppStatus __stdcall ippiConvValid_32f_C1R(float const *,int,struct IppiSize,float const *,int,struct IppiSize,float *,int)" (?ippiConvValid_32f_C1R@@$$J240YG?AW4IppStatus@@PBMHUIppiSize@@0H1PAMH@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error3error LNK2028: unresolved token (0A0003AA) "extern "C" enum IppStatus __stdcall ippiAbs_32f_C1IR(float *,int,struct IppiSize)" (?ippiAbs_32f_C1IR@@$$J216YG?AW4IppStatus@@PAMHUIppiSize@@@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error4error LNK2019: unresolved external symbol "extern "C" enum IppStatus __stdcall ippiAbs_32f_C1IR(float *,int,struct IppiSize)" (?ippiAbs_32f_C1IR@@$$J216YG?AW4IppStatus@@PAMHUIppiSize@@@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib

Error5error LNK2019: unresolved external symbol "extern "C" enum IppStatus __stdcall ippiConvValid_32f_C1R(float const *,int,struct IppiSize,float const *,int,struct IppiSize,float *,int)" (?ippiConvValid_32f_C1R@@$$J240YG?AW4IppStatus@@PBMHUIppiSize@@0H1PAMH@Z) referenced in function "public: int __thiscall cCannyEdgeDetector::process(float const *,unsigned int,struct sSize)" (?process@cCannyEdgeDetector@@$$FQAEHPBMIUsSize@@@Z)myAPPIPP.lib


Can anybody tell me, why this error occurs? I linked also the libs of the IPP in my Application without any effect.

Thanks in advance

MWeissbach

edit: It seems that MS-VS2008 needs an __clrcall and the IPP declares it as __declspec. This is only an assumption after looking for the error the whole day ... Can anybody help? Thanks a lot!

Which libraries are you linking exactly ?

a+
mweissbach
Beginner
160 Views

Quoting - elhefe38

Which libraries are you linking exactly ?

a+



I include only the ipp.h

I link these libraries:
ippiemergedem64t.lib ippcoreem64tl.lib

These both should contain the functions.

System is an Intel Core 2 6600
elhefe38
Beginner
160 Views

Quoting - mweissbach



I have the evaluation version of the IPP 6.0.1.
I have a not managed library using /clr and the IPP (static lib / links the ippiemergedem64t.lib)
I want to link this library to an Windows Forms Application (therefore i compile the lib with /clr).

I did not read fully what you wrote...
If you are using /clr, you are producing a managed dll (most probably a mixed dll).
How do you link the dll to your application ? Usually, when having a managed library you just need to add it as reference, not go through the usual .lib import you do for native code...

a+
mweissbach
Beginner
160 Views

Quoting - elhefe38

I did not read fully what you wrote...
If you are using /clr, you are producing a managed dll (most probably a mixed dll).
How do you link the dll to your application ? Usually, when having a managed library you just need to add it as reference, not go through the usual .lib import you do for native code...

a+

Maybe i didn't get, what you mean with reference to a library, but the I tried (nearly) all ways out that can be found in the web.
The strange matter is, that the library, which includes the code from IPP directly, compiles and links without any complaint - and this library is compiled with /clr (and also would compile with /clr:pure).
This library includes a bunch ofnot managed classes.

At that point my Windows Forms application includes the (mentioned) library, which includes the IPP the linker complains about the not found symbols, included in the original post.

My question is the following (more precisely as in the original post):
How do I include a library with unmanaged code in Windows forms, which includes the IPP (and runs on its own).

Hint: Without the inclusion of the IPP, the whole application compiles, linkes and runs wonderful without any complaint.

Thanks

mw
How
mweissbach
Beginner
160 Views

Quoting - mweissbach

Maybe i didn't get, what you mean with reference to a library, but the I tried (nearly) all ways out that can be found in the web.
The strange matter is, that the library, which includes the code from IPP directly, compiles and links without any complaint - and this library is compiled with /clr (and also would compile with /clr:pure).
This library includes a bunch ofnot managed classes.

At that point my Windows Forms application includes the (mentioned) library, which includes the IPP the linker complains about the not found symbols, included in the original post.

My question is the following (more precisely as in the original post):
How do I include a library with unmanaged code in Windows forms, which includes the IPP (and runs on its own).

Hint: Without the inclusion of the IPP, the whole application compiles, linkes and runs wonderful without any complaint.

Thanks

mw
How

edit: in the mean time I understand, what you meant with "reference". But VS2008 says that it can't import the dlls as references.

Since the edit function results in a SQL-error, I reply to my own post. Sorry for that.

mw
mweissbach
Beginner
160 Views


Problem solved. For solution see post in this thread:
http://software.intel.com/en-us/forums/showthread.php?t=63853

mw

Reply