2011-01-25 89 views
4

我正在使用wcecompat来弥补WinCE SDK和OpenSSL之间的差距。由于LGPL许可证问题,我想将其编译为动态链接库。这是makefile的一部分(完整文件位于https://github.com/mauricek/wcecompat/blob/master/makefile)。我的问题是,如何修改它来建立一个DLL而不是一个静态库?编译wcecompat到DLL

all: lib\wcecompat.lib lib\wcecompatex.lib 

echo $(OBJS) 

obj: 
@md obj 2> NUL 

lib: 
@md lib 2> NUL 

$(OBJS): makefile obj 


lib\wcecompat.lib: lib $(OBJS) makefile 
@lib /nologo /out:lib\wcecompat.lib $(LFLAGS) $(OBJS) 

lib\wcecompatex.lib: lib $(OBJS) makefile 
@lib /nologo /out:lib\wcecompatex.lib $(OB 

JS)

回答

1

使用link(即LINK.EXE)而不是lib两个目标:

lib\wcecompat.lib: lib $(OBJS) makefile 
    @lib /nologo /out:lib\wcecompat.lib $(LFLAGS) $(OBJS) 

lib\wcecompatex.lib: lib $(OBJS) makefile 
    @lib /nologo /out:lib\wcecompatex.lib $(OBJS) 

...和目标分别重命名为wcecompat.dllwcecompatex.dll

但是,这实际上只会帮助您构建DLL,它并不包含任何修改以导出您可能需要从该DLL导出的函数。还要记住,带有代码的DLL有一个DllMain函数作为入口点(尽管它不是这样导出的)。

+0

我为同事提供了一个赏金,但他们无法验证,但你得到的赏金比任何人都好; )thanx的帮助! – TJB 2011-04-25 23:01:11