Existe um guia de práticas recomendadas para distribuir bibliotecas C nativas para o Windows?

Alguém sabe de um guia de práticas recomendadas para implantar bibliotecas compartilhadas ANSI C Windows nativas (sem COM, não .NET)?

Nosso produto usa o zlib e nós distribuímos binários pré-construídos em nossa página de downloads que diferem daqueles na página oficial do zlib. Eu estou supondo que a razão para isso épara evitar misturar tempos de execução. Os oficiais são construídos contra msvcrt usando o VC ++ 6.0 e o VS.NET/2005/2008 usará o msvcrt71 / 80/90.

O que eu quero fazer é criar soluções VS2005 / 8 e projetos que irão construir adequadamente o zlib para nós e distribuí-los no lugar do que temos agora. Eu gostaria de fazer isso com cuidado e distribuir um pacote útil que eu também poderia mandar para os curadores do zlib para inclusão em sua distribuição de origem. Encontrar informações confiáveis ​​provou ser problemático. Eu tenho um monte de livros sobre programação Win32 e eu encontrei um monte de artigos na web, mas nada disso parece fazer um trabalho completo de descrever o que vocêrealmente precisa distribuir.

Por exemplo, o zlib distribui os arquivos .exp, .lib e .def, nos quais o fftw distribui os arquivos .def, mas não os arquivos .lib e .exp. Eu acho que poderia apenas despejar tudo o que parece útil lá (ou apenas espelhar o que o zlib oficial tem atualmente), mas eu gostaria de saberporque tem que estar lá e em quais diretórios ele pertence.

Existem bons exemplos de distribuições Windows bem mantidas de bibliotecas originadas no mundo unix?

Distribuições binárias oficiais do zlib (rolagem para baixo)

Nossas distribuições de janelas

ESCLARECER:

Distribuímos uma biblioteca e fornecemos o zlib para (principalmente) usuários do Windows, já que eles normalmente não o têm disponível. Eu quero que nossa compilação do zlib seja útil como um componente em geral, não apenas como um arquivo .dll que nosso produto consome. Somos de código aberto e amplamente utilizados, por isso queremos tornar todo o nosso ambiente de criação disponível e facilmente adaptável a qualquer compilador que você queira usar.

questionAnswers(3)

yourAnswerToTheQuestion