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.
> >
> >
> >