- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm staic linking and recived the following warning using VS2008
warning LNK4248: unresolved typeref token (01000015) for 'MomentState64f'; image may not run
Any ideas? The code does seem to run as well as the moment commands.
THANKS
warning LNK4248: unresolved typeref token (01000015) for 'MomentState64f'; image may not run
Any ideas? The code does seem to run as well as the moment commands.
THANKS
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
Probably not. I've created the simple example according your text:
#include "ipp.h"
int main()
{
IppiMomentState_64f* pState;
IppStatus m_Status;
Ipp64f pValue;
const Ipp8u* pSrc;
const char* m_StatusString;
IppiSize Small;
IppiPoint pointROI = {1,1};
int ROIoffset;
Small.width = 1;
Small.height = 1;
m_Status = ippiMomentInitAlloc_64f( &pState, ippAlgHintNone );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiMoments64f_8u_C1R(pSrc, 1, Small, pState );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 1, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 1, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetCentralMoment_64f(pState,2,0,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,0,2,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,1,1,0,&pValue);
ippiMomentFree_64f(pState);
}
and no problem:
C:Work>cl -Ic:SVNippinclude ipptest.c ippiemerged.lib ippimerged.lib ippseme
rged.lib ippsmerged.lib ippcorel.lib
Microsoft 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
ipptest.c
c:workipptest.c(17) : warning C4700: uninitialized local variable 'pSrc' used
Microsoft Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:ipptest.exe
ipptest.obj
ippiemerged.lib
ippimerged.lib
ippsemerged.lib
ippsmerged.lib
ippcorel.lib
C:Work>
Probably not. I've created the simple example according your text:
#include "ipp.h"
int main()
{
IppiMomentState_64f* pState;
IppStatus m_Status;
Ipp64f pValue;
const Ipp8u* pSrc;
const char* m_StatusString;
IppiSize Small;
IppiPoint pointROI = {1,1};
int ROIoffset;
Small.width = 1;
Small.height = 1;
m_Status = ippiMomentInitAlloc_64f( &pState, ippAlgHintNone );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiMoments64f_8u_C1R(pSrc, 1, Small, pState );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 1, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 1, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetCentralMoment_64f(pState,2,0,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,0,2,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,1,1,0,&pValue);
ippiMomentFree_64f(pState);
}
and no problem:
C:Work>cl -Ic:SVNippinclude ipptest.c ippiemerged.lib ippimerged.lib ippseme
rged.lib ippsmerged.lib ippcorel.lib
Microsoft 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
ipptest.c
c:workipptest.c(17) : warning C4700: uninitialized local variable 'pSrc' used
Microsoft Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:ipptest.exe
ipptest.obj
ippiemerged.lib
ippimerged.lib
ippsemerged.lib
ippsmerged.lib
ippcorel.lib
C:Work>
Pavel
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It seems you missed some of IPPlibrary in link options. Please check you link with ippcore library
Regards,
Vladimir
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vladmir,
I do have ippcore linked in and still get that warning.
THANKS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I never seen that problem with IPP. Might be something is wrong in project settings? And by the way, what version of IPP do you use?
Vladimir
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi dwindield!
This error mean that you try to use struct MomentState64f directly not by IPP functions. It isn't corret, you have to use IPP functions only!
From Microsoft MSDN:
The following sample generates LNK4248. Define struct A to resolve.
Copy Code
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
This error mean that you try to use struct MomentState64f directly not by IPP functions. It isn't corret, you have to use IPP functions only!
From Microsoft MSDN:
The following sample generates LNK4248. Define struct A to resolve.
Copy Code
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Pavel Berdnikov
Hi dwindield!
This error mean that you try to use struct MomentState64f directly not by IPP functions. It isn't corret, you have to use IPP functions only!
From Microsoft MSDN:
The following sample generates LNK4248. Define struct A to resolve.
Copy Code
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
This error mean that you try to use struct MomentState64f directly not by IPP functions. It isn't corret, you have to use IPP functions only!
From Microsoft MSDN:
The following sample generates LNK4248. Define struct A to resolve.
Copy Code
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
This is interesting --> I'm using the later version of IPP. Here's the only part where I use the structure"
IppiMomentState_64f* pState;
IppiSize Small;
IppiPoint pointROI = {0,0};
int ROIoffset;
Small.width = m_sc_Blobs.m_Info.rect.width;
Small.height = m_sc_Blobs.m_Info.rect.height;
ROIoffset = m_sc_width*( m_sc_Blobs.m_Info.rect.y) + ( m_sc_Blobs.m_Info.rect.x);
m_Status = ippiMomentInitAlloc_64f( &pState, ippAlgHintNone );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiMoments64f_8u_C1R(m_sc_AnalyzedImage+ROIoffset, m_sc_width, Small, pState );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 0, 0, pointROI, &m_sc_Blobs.m_mom0 );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 1, 0, 0, pointROI, &m_sc_Blobs.m_momx );
m_StatusString = ippGetStatusString( m_Status );
m_sc_Blobs.m_cgx = m_sc_Blobs.m_momx / m_sc_Blobs.m_mom0;
m_sc_Blobs.m_cgx += (m_sc_Blobs.m_Info.rect.x);
m_Status = ippiGetSpatialMoment_64f( pState, 0, 1, 0, pointROI, &m_sc_Blobs.m_momy );
m_StatusString = ippGetStatusString( m_Status );
m_sc_Blobs.m_cgy = m_sc_Blobs.m_momy / m_sc_Blobs.m_mom0;
m_sc_Blobs.m_cgy += (m_sc_Blobs.m_Info.rect.y);
m_Status = ippiGetCentralMoment_64f(pState,2,0,0,&m_sc_Blobs.m_moix);
m_Status = ippiGetCentralMoment_64f(pState,0,2,0,&m_sc_Blobs.m_moiy);
m_Status = ippiGetCentralMoment_64f(pState,1,1,0,&m_sc_Blobs.m_moixy);
ippiMomentFree_64f(pState);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
Probably not. I've created the simple example according your text:
#include "ipp.h"
int main()
{
IppiMomentState_64f* pState;
IppStatus m_Status;
Ipp64f pValue;
const Ipp8u* pSrc;
const char* m_StatusString;
IppiSize Small;
IppiPoint pointROI = {1,1};
int ROIoffset;
Small.width = 1;
Small.height = 1;
m_Status = ippiMomentInitAlloc_64f( &pState, ippAlgHintNone );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiMoments64f_8u_C1R(pSrc, 1, Small, pState );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 1, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 1, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetCentralMoment_64f(pState,2,0,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,0,2,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,1,1,0,&pValue);
ippiMomentFree_64f(pState);
}
and no problem:
C:Work>cl -Ic:SVNippinclude ipptest.c ippiemerged.lib ippimerged.lib ippseme
rged.lib ippsmerged.lib ippcorel.lib
Microsoft 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
ipptest.c
c:workipptest.c(17) : warning C4700: uninitialized local variable 'pSrc' used
Microsoft Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:ipptest.exe
ipptest.obj
ippiemerged.lib
ippimerged.lib
ippsemerged.lib
ippsmerged.lib
ippcorel.lib
C:Work>
Probably not. I've created the simple example according your text:
#include "ipp.h"
int main()
{
IppiMomentState_64f* pState;
IppStatus m_Status;
Ipp64f pValue;
const Ipp8u* pSrc;
const char* m_StatusString;
IppiSize Small;
IppiPoint pointROI = {1,1};
int ROIoffset;
Small.width = 1;
Small.height = 1;
m_Status = ippiMomentInitAlloc_64f( &pState, ippAlgHintNone );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiMoments64f_8u_C1R(pSrc, 1, Small, pState );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 1, 0, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetSpatialMoment_64f( pState, 0, 1, 0, pointROI, &pValue );
m_StatusString = ippGetStatusString( m_Status );
m_Status = ippiGetCentralMoment_64f(pState,2,0,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,0,2,0,&pValue);
m_Status = ippiGetCentralMoment_64f(pState,1,1,0,&pValue);
ippiMomentFree_64f(pState);
}
and no problem:
C:Work>cl -Ic:SVNippinclude ipptest.c ippiemerged.lib ippimerged.lib ippseme
rged.lib ippsmerged.lib ippcorel.lib
Microsoft 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
ipptest.c
c:workipptest.c(17) : warning C4700: uninitialized local variable 'pSrc' used
Microsoft Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:ipptest.exe
ipptest.obj
ippiemerged.lib
ippimerged.lib
ippsemerged.lib
ippsmerged.lib
ippcorel.lib
C:Work>
Pavel
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page