Re: about serial port expansion again

From: Yannick Chamming's [eMVP] (ychammings_nospam_at_adeset.com)
Date: 12/29/04


Date: Wed, 29 Dec 2004 07:51:29 +0100

it seems you modified directly the source code in Public directory. So first
of all, this is something you should not do. It is a source of many issues
(when reinstalling, when willing to use the initial code, etc...). You
should copy the source code from public to your own directory where you
would do the modifications.
Next, concerning your issues, the problem is probably that you modified the
mdd (which contains the COM_xxx functions) without rebuilding it.
Consequently, when you build the serial driver (which links to the mdd :
look at the "sources" file), it uses the initial lib. As you modified the
.DEF file to export your own entry points, you encounter unresolved
external.

What you should do is :
- Copy the code you are willing to update from public to your own directory
(for example, your own BSP)
- Adapt your "sources" file so that your copy versions get built correctly
(in your case, you should, for example change the sourcelibs entry of the
serial driver so that it would use your own specific MDD)
- perform your adaptations in your copy version.

--
----------------------------------------------------------------
Yannick Chamming's (eMVP)
ADESET
Windows Embedded Manager
ychammings AT adeset DOT com>
http://www.adeset.com
Tél  : +33 (0)4.72.18.57.77
Fax : +33 (0)4.72.18.57.78
----------------------------------------------------------------
"Maverick" <Maverick@maverick.com> wrote in message
news:#qAQLGW7EHA.4040@TK2MSFTNGP14.phx.gbl...
> Hi experts,
>
> I decided to use wrapper to build my own serial driver. I replaced
COM_Init,
> COM_Open, COM_Close... with AUX_Init, AUX_Open, AUX_Close... in  all files
> in wince40\PUBLIC\COMMON\OAK\DRIVERS\SERIAL, recompiled the source files.
> But when in building, error showed:
>
>
F:\wince40\PUBLIC\test\wince40\Geode\cesysgen\oak\lib\x86\retail\com16550.ex
> p
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Close
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Deinit
> com16550.exp : error LNK2001: unresolved external symbol _AUX_IOControl
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Init
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Open
> com16550.exp : error LNK2001: unresolved external symbol _AUX_PowerDown
> com16550.exp : error LNK2001: unresolved external symbol _AUX_PowerUp
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Read
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Seek
> com16550.exp : error LNK2001: unresolved external symbol _AUX_Write
>
F:\wince40\PUBLIC\test\wince40\Geode\cesysgen\oak\target\x86\retail\com16550
> .dll : fatal error LNK1120: 10 unresolved externals
> NMAKE : fatal error U1077: 'link' : return code '0x460'
> Stop.
> NMAKE : fatal error U1077: 'F:\wince40\sdk\bin\i386\nmake.exe' : return
code
> '0x2'
> Stop.
>
>
> I have declared these functions in com16550.DEF. What did I missing?
>
> Maverick
>
>