- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using the 32-bit versions of ippcore.lib in my x64 application project (VS Studio 2008), but I have this link error:
error LNK2019: unresolved external symbol ippStaticInitBest referenced in function .......
Please help me, please !
JM.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Let me answer your question in the'Post Title':
>> Can I use ippcore.lib (32-bit version) in a x64 project?
No. If you want to build a 64-bit applicationan'ippcore64.lib' has to be used in a x64 project.
Best regards,
Sergey
PS:Here is some historical background ( if interested ):
This is because you can't "mix" 32-bit and 64-bit modules ( executablesand dlls )togetherin one
application. Since 'ippcore.lib' is the import library for32-bit applications a 32-bit'ippcore.dll' will
be loaded.
This is a very old story going back to 1992-1993when Microsoft released Win32s extention for a 16-bit
Windows 3.1 operating system. It was an awesome upgrade since it allowed to changememory
architecture:
from 16-bit ( 16:16 )to32-bit ( 0:32 )
segment-basedflat
and as soon as Win32s extention was installed Windows 3.1could not be called any longeras a16-bit
operating system!
On Windows 3.1 the Win32s extensionallowed to execute 32-bit and 16-bit applications. But, it created
lots of "spin-off" problems. Software developers wanted touse 16-bit and 32-bit modules together,in one
address space, like:
Use Cases 1 & 2:
16-bit applicationattempts to load\use a 32-bit dll
or
32-bit application attempts to load\use a 16-bit dll
In order to satisfy a growing demand Microsoft invented three different "thunk" techniques and they
allowed to do some "magic". It was possible to "mix" 16-bit and 32-bit modules butall three "thunk"
techniques were incompatible because theywere designedfor different operating systems, Windows 3.1,
Windows 95 and Windows NT3.x.
Here are two more Use Casesfor 32-bit and 64-bit modules on a 64-bit operating system.
Use Cases3 & 4:
32-bit applicationattempts to load\use a 64-bit dll
or
64-bit application attempts to load\use a 32-bit dll
To summarize everything:
Use Cases 1 & 2 and Use Cases 3 & 4 arenotgoing to work without special "magic" techniques.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page