Hi:
I make a new folder in the PBWorkspace directory, which located in
WinCE50 directory.

After write my source file and xxx.cpp file , I use build -c in the open
release directory command line.

Then PB generate xxx.lib in the public\common\oak\lib\armv4i\debug\
directory and xxx.obj file in my project directory.

Would you please tell me how to generate a xxx.dll file ?

Thank you very much.

RE: how to generate a dll file by LucaCalligaris

LucaCalligaris
Tue May 31 05:38:05 CDT 2005

Your SOURCES file should be something like that:

SYNCHRONIZE_DRAIN=1

RELEASETYPE=CUSTOM
TARGETPATH=BIN\$(WINCEDEBUG)
TARGETNAME=YOURDLL
DEFFILE=YOURDLLEXPORT.def

TARGETTYPE=DYNLINK
TARGETLIBS=\
YOUR_LIBS.lib \

DLLENTRY=DllMain

INCLUDES=YOUR_INCLUDE_DIRS
SOURCES=YOUR_CODE.cpp


"xuhaoz" wrote:

> Hi:
> I make a new folder in the PBWorkspace directory, which located in
> WinCE50 directory.
>
> After write my source file and xxx.cpp file , I use build -c in the open
> release directory command line.
>
> Then PB generate xxx.lib in the public\common\oak\lib\armv4i\debug\
> directory and xxx.obj file in my project directory.
>
> Would you please tell me how to generate a xxx.dll file ?
>
> Thank you very much.
>
>
>

Re: how to generate a dll file by Steve

Steve
Tue May 31 09:51:52 CDT 2005

Simplest thing is to tell the IDE to create a project for a DLL when you
create the project. It will do the work for you. Otherwise you make sure
that TARGETTYPE setting is set to DYNLINK

--
Steve Maillet
EmbeddedFusion
www.EmbeddedFusion.com
smaillet at EmbeddedFusion dot com



Re: how to generate a dll file by xuhaoz

xuhaoz
Tue May 31 21:27:56 CDT 2005

Hi:
My directory strcuture is :

In the PBWorkspace\Test\DLL\ directory ,there are :

aaa (folder)
source.cmn (file)
dirs (file)

In the DLL\aaa\ directory ,there are:

aaa.cpp
sources
aaa.def
makefile
obj(folder)


This is my source.cmn file :

WINCEOEM=1
WINCEPROJ=COMMON
WINCETREE=winceos
RELEASETYPE=OAK

# OS projects during compile always get the full unfiltered headers & build
into their own public tree.
_COMMONPUBROOT=$(_PUBLICROOT)\common
__PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)

WARNISERROR=1

_ISVINCPATH=$(_WINCEROOT)\public\common\sdk\inc;
_OEMINCPATH=$(_WINCEROOT)\public\common\oak\inc;$(_WINCEROOT)\public\common\
sdk\inc;$(_WINCEROOT)\public\common\ddk\inc;




This is my sources file:

TARGETNAME=aaa
TARGETTYPE=DYNLINK
RELEASETYPE=OAK
WINCEOEM=1
TARGETLIBS= \

$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \

$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\xxxxxxx.lib \
$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\aaa.lib
DLLENTRY = DLLEntry

SOURCES = \
aaa.cpp

This is my aaa.def file:

LIBRARY aaa_LIB

EXPROTS
; because I have not finished all function
other than DLLEntry.

DLLEntry



I type "build -c" in the PBWorkspace\Test\DLL\ directory , then system
report in build.txt

BUILD: [Thrd:Sequence:Type ] Message
BUILD: [00:0000000000:PROGC ] Checking for
\WINCE500\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000001:PROGC ] SrcCheck exit code: 0 (dec).
BUILD: [00:0000000002:PROGC ] Compile and Link for ARM.
BUILD: [00:0000000003:PROGC ] Loading
G:\WINCE500\PBWorkspaces\TEST\DLL\Build.dat.
BUILD: [00:0000000004:PROGC ] Done.
BUILD: [00:0000000005:PROGC ] Computing include file dependencies:
BUILD: [00:0000000006:PROGC ] Checking for SDK include directory:
G:\WINCE500\sdk\ce\inc.
BUILD: [00:0000000007:PROGC ] Scan \WINCE500\PBWorkspaces\TEST\DLL\aaa\
BUILD: [00:0000000008:INFO ] Will Compile
\WINCE500\PBWorkspaces\TEST\DLL\aaa\aaa.cpp because target:
obj\ARMV4I\debug\aaa.obj is missing.
BUILD: [00:0000000009:PROGC ] Compiling \WINCE500\PBWorkspaces\TEST\DLL\aaa\
directory.
BUILD: [00:0000000010:PROG ] 'NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1
NOPASS0=1'
BUILD: [01:0000000011:INFO ] makefile.def: BUILDROOT is
G:\WINCE500\PBWorkspaces\TEST\DLL
BUILD: [01:0000000012:INFO ] makefile.def: Including
G:\WINCE500\PBWorkspaces\TEST\DLL\sources.cmn
BUILD: [01:0000000013:INFO ] Directory:
G:\WINCE500\PBWorkspaces\TEST\DLL\aaa
BUILD: [01:0000000014:INFO ] TARGETNAME: aaa
BUILD: [01:0000000015:INFO ] makefile.def: Including
G:\WINCE500\public\common\oak\misc\sources.ReleaseType_OAK
BUILD: [01:0000000016:PROGC ] Compiling .\aaa.cpp
BUILD: [01:0000000017:INFO ]
cl -nologo -Foobj\ARMV4I\debug\aaa.obj -c -IARM\ -I. -IG:\WINCE500\public
\common\oak\inc -IG:\WINCE500\public\common\sdk\inc -IG:\WINCE500\public\com
mon\ddk\inc -IG:\WINCE500\sdk\CE\inc -I.\Resource\0409 -Od -GF -Zi -FdG:\WIN
CE500\public\COMMON\oak\target\ARMV4I\debug\aaa.pdb -DUNICODE -D_UNICODE -DU
NDER_CE=500 -D_WIN32_WCE=500 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DA
RM -DARMV4I -D_ARM_ -DDEBUG=1 -DINTERNATIONAL -DL0409 -DINTLMSG_CODEPAGE=12
52 -WX -W3 -QRarch4T -DTHUMBSUPPORT -QRinterwork-return
G:\WINCE500\PBWorkspaces\TEST\DLL\aaa\.\aaa.cpp
BUILD: [01:0000000018:INFO ] aaa.cpp
BUILD: [01:0000000019:PROGC ] Linking
G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib
BUILD: [01:0000000020:INFO ]

link -lib -out:G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib -def:a
aa.def -machine:thumb @G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nm17.tmp
BUILD: [01:0000000021:INFO ] Microsoft (R) Library Manager Version
7.10.4017
BUILD: [01:0000000022:INFO ] Copyright (C) Microsoft Corporation. All
rights reserved.
BUILD: [01:0000000023:INFO ]
BUILD: [01:0000000024:INFO ] -nodefaultlib
BUILD: [01:0000000025:INFO ] -ignore:4001
BUILD: [01:0000000026:INFO ] -subsystem:windowsce,5.00
BUILD: [01:0000000027:INFO ] obj\ARMV4I\debug\aaa.obj
BUILD: [01:0000000028:ERRORE] aaa.def : error LNK2001: unresolved external
symbol DLLEntry
BUILD: [01:0000000029:ERRORE]
G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib : fatal error
LNK1120: 1 unresolved externals
BUILD: [01:0000000030:INFO ] Stop.
BUILD: [00:0000000031:PROGC ] Files Warnings
Errors
BUILD: [00:0000000032:PROGC ] Midl 0 0
0
BUILD: [00:0000000033:PROGC ] Resource 0 0
0
BUILD: [00:0000000034:PROGC ] Message 0 0
0
BUILD: [00:0000000035:PROGC ] Precomp Header 0 0
0
BUILD: [00:0000000036:PROGC ] C/Cpp/Cxx 1 0
0
BUILD: [00:0000000037:PROGC ] Assembler 0 0
0
BUILD: [00:0000000038:PROGC ] Static Libraries 0 0
0
BUILD: [00:0000000039:PROGC ] Dll's 1 0
2
BUILD: [00:0000000040:PROGC ] Exe's 0 0
0
BUILD: [00:0000000041:PROGC ] Resx 0 0
0
BUILD: [00:0000000042:PROGC ] Csharp Targets 0 0
0
BUILD: [00:0000000043:PROGC ] Other 0 0
1
BUILD: [00:0000000044:PROGC ]
BUILD: [00:0000000045:PROGC ] Total 2 0
3
BUILD: [00:0000000046:PROGC ]
BUILD: [00:0000000047:PROGC ] 0 Warnings, 3 Errors


Please tell my how to solve this problem




"Luca Calligaris" <LucaCalligaris@discussions.microsoft.com> wrote in
message news:3D210FDE-A003-49D8-87CD-BDDFB8C2B3AF@microsoft.com...
> Your SOURCES file should be something like that:
>
> SYNCHRONIZE_DRAIN=1
>
> RELEASETYPE=CUSTOM
> TARGETPATH=BIN\$(WINCEDEBUG)
> TARGETNAME=YOURDLL
> DEFFILE=YOURDLLEXPORT.def
>
> TARGETTYPE=DYNLINK
> TARGETLIBS=\
> YOUR_LIBS.lib \
>
> DLLENTRY=DllMain
>
> INCLUDES=YOUR_INCLUDE_DIRS
> SOURCES=YOUR_CODE.cpp
>
>
> "xuhaoz" wrote:
>
> > Hi:
> > I make a new folder in the PBWorkspace directory, which located in
> > WinCE50 directory.
> >
> > After write my source file and aaa.cpp file , I use build -c in the
open
> > release directory command line.
> >
> > Then PB generate aaa.lib in the public\common\oak\lib\armv4i\debug\
> > directory and aaa.obj file in my project directory.
> >
> > Would you please tell me how to generate a aaa.dll file ?
> >
> > Thank you very much.
> >
> >
> >



Re: how to generate a dll file by K

K
Tue May 31 22:50:05 CDT 2005

You should modify the RELEASETYPE from OAK to CUSTOM in your sources file.
Also there is no need to export the DllEntry function in your .def file, but
you'll need to assign the Dll Entry point by
assigning the DLLENTRY macro in your SOURCES file.

"xuhaoz" <xuhaoz@126.com> ¼¶¼g©ó¶l¥ó·s»D:e0nVXFlZFHA.3328@TK2MSFTNGP09.phx.gbl...
> Hi:
> My directory strcuture is :
>
> In the PBWorkspace\Test\DLL\ directory ,there are :
>
> aaa (folder)
> source.cmn (file)
> dirs (file)
>
> In the DLL\aaa\ directory ,there are:
>
> aaa.cpp
> sources
> aaa.def
> makefile
> obj(folder)
>
>
> This is my source.cmn file :
>
> WINCEOEM=1
> WINCEPROJ=COMMON
> WINCETREE=winceos
> RELEASETYPE=OAK
>
> # OS projects during compile always get the full unfiltered headers &
> build
> into their own public tree.
> _COMMONPUBROOT=$(_PUBLICROOT)\common
> __PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)
>
> WARNISERROR=1
>
> _ISVINCPATH=$(_WINCEROOT)\public\common\sdk\inc;
> _OEMINCPATH=$(_WINCEROOT)\public\common\oak\inc;$(_WINCEROOT)\public\common\
> sdk\inc;$(_WINCEROOT)\public\common\ddk\inc;
>
>
>
>
> This is my sources file:
>
> TARGETNAME=aaa
> TARGETTYPE=DYNLINK
> RELEASETYPE=OAK
> WINCEOEM=1
> TARGETLIBS= \
>
> $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
>
> $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\xxxxxxx.lib \
>
> $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\aaa.lib
> DLLENTRY = DLLEntry
>
> SOURCES = \
> aaa.cpp
>
> This is my aaa.def file:
>
> LIBRARY aaa_LIB
>
> EXPROTS
> ; because I have not finished all function
> other than DLLEntry.
>
> DLLEntry
>
>
>
> I type "build -c" in the PBWorkspace\Test\DLL\ directory , then
> system
> report in build.txt
>
> BUILD: [Thrd:Sequence:Type ] Message
> BUILD: [00:0000000000:PROGC ] Checking for
> \WINCE500\sdk\bin\i386\srccheck.exe.
> BUILD: [00:0000000001:PROGC ] SrcCheck exit code: 0 (dec).
> BUILD: [00:0000000002:PROGC ] Compile and Link for ARM.
> BUILD: [00:0000000003:PROGC ] Loading
> G:\WINCE500\PBWorkspaces\TEST\DLL\Build.dat.
> BUILD: [00:0000000004:PROGC ] Done.
> BUILD: [00:0000000005:PROGC ] Computing include file dependencies:
> BUILD: [00:0000000006:PROGC ] Checking for SDK include directory:
> G:\WINCE500\sdk\ce\inc.
> BUILD: [00:0000000007:PROGC ] Scan \WINCE500\PBWorkspaces\TEST\DLL\aaa\
> BUILD: [00:0000000008:INFO ] Will Compile
> \WINCE500\PBWorkspaces\TEST\DLL\aaa\aaa.cpp because target:
> obj\ARMV4I\debug\aaa.obj is missing.
> BUILD: [00:0000000009:PROGC ] Compiling
> \WINCE500\PBWorkspaces\TEST\DLL\aaa\
> directory.
> BUILD: [00:0000000010:PROG ] 'NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1
> NOPASS0=1'
> BUILD: [01:0000000011:INFO ] makefile.def: BUILDROOT is
> G:\WINCE500\PBWorkspaces\TEST\DLL
> BUILD: [01:0000000012:INFO ] makefile.def: Including
> G:\WINCE500\PBWorkspaces\TEST\DLL\sources.cmn
> BUILD: [01:0000000013:INFO ] Directory:
> G:\WINCE500\PBWorkspaces\TEST\DLL\aaa
> BUILD: [01:0000000014:INFO ] TARGETNAME: aaa
> BUILD: [01:0000000015:INFO ] makefile.def: Including
> G:\WINCE500\public\common\oak\misc\sources.ReleaseType_OAK
> BUILD: [01:0000000016:PROGC ] Compiling .\aaa.cpp
> BUILD: [01:0000000017:INFO ]
> cl -nologo -Foobj\ARMV4I\debug\aaa.obj -c -IARM\ -I. -IG:\WINCE500\public
> \common\oak\inc -IG:\WINCE500\public\common\sdk\inc -IG:\WINCE500\public\com
> mon\ddk\inc -IG:\WINCE500\sdk\CE\inc -I.\Resource\0409 -Od -GF -Zi -FdG:\WIN
> CE500\public\COMMON\oak\target\ARMV4I\debug\aaa.pdb -DUNICODE -D_UNICODE -DU
> NDER_CE=500 -D_WIN32_WCE=500 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DA
> RM -DARMV4I -D_ARM_ -DDEBUG=1 -DINTERNATIONAL -DL0409 -DINTLMSG_CODEPAGE=12
> 52 -WX -W3 -QRarch4T -DTHUMBSUPPORT -QRinterwork-return
> G:\WINCE500\PBWorkspaces\TEST\DLL\aaa\.\aaa.cpp
> BUILD: [01:0000000018:INFO ] aaa.cpp
> BUILD: [01:0000000019:PROGC ] Linking
> G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib
> BUILD: [01:0000000020:INFO ]
>
> link -lib -out:G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib -def:a
> aa.def -machine:thumb @G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nm17.tmp
> BUILD: [01:0000000021:INFO ] Microsoft (R) Library Manager Version
> 7.10.4017
> BUILD: [01:0000000022:INFO ] Copyright (C) Microsoft Corporation. All
> rights reserved.
> BUILD: [01:0000000023:INFO ]
> BUILD: [01:0000000024:INFO ] -nodefaultlib
> BUILD: [01:0000000025:INFO ] -ignore:4001
> BUILD: [01:0000000026:INFO ] -subsystem:windowsce,5.00
> BUILD: [01:0000000027:INFO ] obj\ARMV4I\debug\aaa.obj
> BUILD: [01:0000000028:ERRORE] aaa.def : error LNK2001: unresolved external
> symbol DLLEntry
> BUILD: [01:0000000029:ERRORE]
> G:\WINCE500\public\COMMON\oak\lib\ARMV4I\debug\aaa.lib : fatal error
> LNK1120: 1 unresolved externals
> BUILD: [01:0000000030:INFO ] Stop.
> BUILD: [00:0000000031:PROGC ] Files Warnings
> Errors
> BUILD: [00:0000000032:PROGC ] Midl 0 0
> 0
> BUILD: [00:0000000033:PROGC ] Resource 0 0
> 0
> BUILD: [00:0000000034:PROGC ] Message 0 0
> 0
> BUILD: [00:0000000035:PROGC ] Precomp Header 0 0
> 0
> BUILD: [00:0000000036:PROGC ] C/Cpp/Cxx 1 0
> 0
> BUILD: [00:0000000037:PROGC ] Assembler 0 0
> 0
> BUILD: [00:0000000038:PROGC ] Static Libraries 0 0
> 0
> BUILD: [00:0000000039:PROGC ] Dll's 1 0
> 2
> BUILD: [00:0000000040:PROGC ] Exe's 0 0
> 0
> BUILD: [00:0000000041:PROGC ] Resx 0 0
> 0
> BUILD: [00:0000000042:PROGC ] Csharp Targets 0 0
> 0
> BUILD: [00:0000000043:PROGC ] Other 0 0
> 1
> BUILD: [00:0000000044:PROGC ]
> BUILD: [00:0000000045:PROGC ] Total 2 0
> 3
> BUILD: [00:0000000046:PROGC ]
> BUILD: [00:0000000047:PROGC ] 0 Warnings, 3 Errors
>
>
> Please tell my how to solve this problem
>
>
>