Qual é a melhor maneira de criar DLLs de bibliotecas de código aberto para os desenvolvedores do Windows usarem?

StackOverflow https://stackoverflow.com/questions/987808

Pergunta

Eu tenho várias bibliotecas de software gratuito/de código aberto que desenvolvo no Linux e OSX com a Chapa de Ferramentas GNU (Autorake, Conf, Flex, Bison, GCC, ...), mas ocasionalmente recebo solicitações para fornecer DLLs do Windows. Eu gostaria de fornecer pessoas sem ter que gastar muito tempo e dinheiro com o desenvolvimento do Windows Visual Studio. Eu tenho uma máquina virtual do Windows XP disponível e também sei que o software é portátil, pois ocasionalmente recebo patches para fazê -lo construir no Windows.

Que abordagens ou ferramentas devo usar? Compilação cruzada no Linux? Usando o Visual Studio Express ou algo mais? Eu preferiria algo totalmente automatizado a partir de um repositório SVN. Eu não conto o Cygwin como uma solução, pois isso não parece fornecer o que os desenvolvedores do Windows precisam, até eu entendo os problemas - vincular e DLLs.

Foi útil?

Solução

Você pode tentar Mingw com MSYS, Visual Studio (Express) com SUA (Subsistema para Aplicativo UNIX) ou Cygwin para compilar programas que são baseados em automóveis/autoconf (./configure && para construir no Linux).

Infelizmente, geralmente o arquivo Lib que eles criam não é compatível com outros compiladores; portanto, se você deseja que sua biblioteca funcione com um aplicativo desenvolvido usando o Visual Studio, use a abordagem VSC ++. Geralmente muitos projetos GNU (verifique GNUWIN32) Na verdade, também tem scripts de construção compatíveis com VC, que podem ser compilados usando "nmake"

Outras dicas

Você poderia usar Mingw ou instale as ferramentas de linha de comando MSVC de Visual Studio Express.

Qualquer um desses pode ser acionado por scripts de linha de comando.

Eu imagino que uma compilação cruzada do Linux também funcionaria, mas não tenho idéia de como pode ser fácil (ou doloroso).

Este pequeno artigo mostra uma simples compilação cruzada de um aplicativo do Windows e executando esse aplicativo em Wine:

O Kit de Desenvolvimento de Software do Windows inclui o compilador C/C ++ da Microsoft (linha de comando apenas sem ferramentas visuais); portanto, você nem precisa de Visual C ++ Express Edition. O Windows SDK é um download gratuito da Microsoft.

Se você está usando http://www.cmake.org/, o CMake pode criar o Makefile (para o UNIX) e o arquivo de projeto (para o Visual Studio). É isso que, por exemplo, o projeto KDE está usando.

O compilador do Visual Studio pode ser iniciado em uma linha de comando do Windows com 'Devenv /Build Debug Project.csproj' no arquivo gerado pelo CMake. No entanto, isso exige uma janela (possivelmente em uma VM) com um Visual Studio (potente livre) instalado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top