Eu quero construir uma biblioteca estática (arquivo. LIB) GNU libiconv no windows para ser usado com outras bibliotecas no Visual C. Outras bibliotecas Im usando são construídas com opção MultiThreaded DLL (/ MD) Runtime. Então, eu preciso construir libiconv com a mesma opção. O problema é que o libiconv usa o sistema de compilação GNU e eu quero compilar com a opção / MD. Você pode ver a estrutura de origem do libiconv aqui: cvs. savannah. gnu. org/viewvc/libiconv/rootlibiconv O Sr. Zlatkovic mantém a porta do windows do GNU libiconv para o libxml2 você pode vê-los aqui: Eu não posso usar sua porta. Eu preciso construir a partir da versão mais recente do libiconv-1.13. Gostaria de saber como esse cara tem portado ele Pode alguém por favor me diga como construir. Lib a partir deste e compilá-lo usando MSVC Na verdade, eu preciso construir mais algumas bibliotecas gnu com as mesmas configurações. Então, se eu conseguir solução para uma biblioteca. Eu posso fazer o mesmo para todos os outros. Uma pequena adição à sua resposta. Eu tive o mesmo problema e descobri que a solução MSYS MinGW era perfeita. Embora, eu precisava ir um pouco mais longe e gerar também o arquivo. lib, a fim de ser capaz de link com a dll resultante. Isso é o que eu encontrei: gerar um arquivo. def da dll com dumpbin (uma ferramenta do Visual Studio). Gerar o arquivo. lib do. def com o programa lib (ferramenta Visual Studio também) Isso permite que você especifique alguns sinalizadores link, se apropriado. Tudo detalhado aqui (eu não sou o autor deste método): wiki. videolan. org/GenerateLibFromDll Eu também percebi que este par lib / dll pode ser vinculado com MD e bibliotecas MDd. Espero que possa ajudar as pessoas que encontrar este post, como me ajudou. Compilá-los usando MinGW usando Msys para o ambiente, se necessário. Arquivos MinGWs. a aparentemente, de acordo com a lista de discussão, o mesmo formato como arquivos. lib (apenas fazer um renomear). Você pode querer verificar primeiro se a biblioteca estática iconv já está incluída no download / sistema de arquivos MinGW. Editar: o seu em msys (C: msys1.0lib), juntamente com: libiconv-2.dll (em C: msys1.0localbin) Edit: está aqui, o libiconv você precisa estas versões parecem ter makefiles MSVC :) www Como eu iria executar .47configure que é um script shell Mais sobre, como eu daria a opção quotMultiThreaded DLLquot Runtime para g compilador de MinGW. Ndash claws Apr 28 10 at 22:07 Você pode não enfrentar o mesmo problema com a ferramenta MinGW, que o desenvolvedor está tentando evitar. Basicamente, a opção multithreaded para o compilador / vinculador MSVC permite que a DLL use múltiplo heaps em vez de um heap único, de um rápido vista, e impede que problemas ocorram. Ndash Chris Dennett Apr 28 10 em 22:14
Comments
Post a Comment