2011-01-25 15 views
4

私はwcecompatを使用して、WinCE SDKとOpenSSLの間のギャップを埋めています。 LGPLのライセンス問題のために、私はそれを動的にリンクされたライブラリにコンパイルしたい。ここにmakefileの一部があります(フルファイルはhttps://github.com/mauricek/wcecompat/blob/master/makefileです)。私の質問は、静的なlibの代わりに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)は、2つのターゲットの

答えて

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

私は同僚のためにこれに賞金をかけましたが、確認することはできませんでしたが、誰よりも恩恵を受ける方がいいです。 )おかげで助けてくれた! – TJB

+0

@TJB:うわー、ありがとう。 – 0xC0000022L

関連する問題