Register
Site Login
Site Search
Forums
Advertisement
Welcome to PocketMatrix. PocketMatrix is dedicated to providing the best online community for mobile device developers and enthusiests. What's new?

PHAL::Surface missing 2nd Create()?


PHAL::Surface missing 2nd Create()?

Postby PsychoChris » Apr 14, 2008 @ 9:16pm

Hello Thierry,

onn trying to create a surface which uses an existing buffer i get the following linker error:
Code: Select all

unresolved external Symbol "public: static class PHAL::Surface * __cdecl PHAL::Surface::Create(unsigned short *,unsigned int,unsigned int,unsigned int)" (?Create@Surface@PHAL@@SAPAV12@PAGIII@Z)
1 lines; 0 keywds; 0 nums; 3 ops; 1 strs; 0 coms    Syntactic Coloring v0.4 - Dan East  


I do not get this error on using the following method:
Code: Select all

static Surface* Create( unsigned width, unsigned height );
1 lines; 3 keywds; 0 nums; 5 ops; 0 strs; 0 coms    Syntactic Coloring v0.4 - Dan East  


I conclude from this that the method for using an existing buffer is not exported or the signature in the header file doesn't match it. I would like to use that method so that i do not have to copy an already existing buffer to the surface.

Regards,
Chris
PsychoChris
pm Member
 
Posts: 45
Joined: Jul 17, 2006 @ 11:47pm


Postby Kzinti » Apr 14, 2008 @ 10:58pm

I've seen this problem in the past and the cullprint was that EVC 4 (which I use to build the libs) didn't mangle "wchar_t" the same way Visual Studio 2005 did.

Can you tell me which compiler you are using?
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby PsychoChris » Apr 14, 2008 @ 11:20pm

I'm using Visual C++ 6.0. I also want to use eVC++ 4.0 but i didn't test it unitl now.
I noticed that even when i pass only zeros as parameters the method is not found by the linker so i'm not even sure it is exported at all.

Regards,
Chris
PsychoChris
pm Member
 
Posts: 45
Joined: Jul 17, 2006 @ 11:47pm


Postby Kzinti » Apr 15, 2008 @ 5:19am

I am also using VC6 to build the win32 library. I have tried to reproduce the problem using PocketHAL 1.0.4 and failed. It works properly for me. This issue for Windows CE was fixed in 1.0.2, so it should be the same for VC6.

I also opened the 1.0.4 library in a binary viewer and the symbol is there:

Code: Select all

?Create@Surface@PHAL@@SAPAV12@PAGIII@Z
1 lines; 0 keywds; 0 nums; 1 ops; 0 strs; 0 coms    Syntactic Coloring v0.4 - Dan East  


Are you using and older version of PocketHAL?
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Kzinti » Apr 15, 2008 @ 5:31am

I just verified 1.0.1 and the symbol was exported as:

Code: Select all

?Create@Surface@PHAL@@SAPAV12@PA_GIII@Z
1 lines; 0 keywds; 0 nums; 1 ops; 0 strs; 0 coms    Syntactic Coloring v0.4 - Dan East  


Notice the extra underscore. So if you are using a version older then 1.0.2, you should upgrade.
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby PsychoChris » Apr 15, 2008 @ 9:25am

Hello Thierry,

now its clear. The problem was caused by using an old version of PocketHAL. Thanks for your help!

Regards,
Chris
PsychoChris
pm Member
 
Posts: 45
Joined: Jul 17, 2006 @ 11:47pm


Return to PocketFrog & PocketHAL


Sort


Forum Description

SDKs for fast and robust device-independent access to Pocket PC display hardware.

Moderators:

sponge, Kzinti

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron