2015-12-15 7 views
2

J'ai passé beaucoup de temps à essayer de construire des liaisons D pour une bibliothèque C open source. J'utilise msvc pour construire le fichier .lib statique de C, mais DMD est incapable de reconnaître le fichier .lib, il semble être un problème lié aux incompatibilités COFF/OMF.Comment compiler une bibliothèque statique msvc à lier à partir de DMD?

Quelle est la manière la plus simple de compiler une bibliothèque C, compatible OMF, à être liée à partir de D?

Répondre

1

Transformez le fichier d'en-tête en fichier .di avec des signatures de fonction correspondantes et extern (C). Ensuite, utilisez cela comme la cible import. Vous pouvez utiliser le htod tool pour aider avec cela.

Voir http://dlang.org/spec/interfaceToC.html

+0

le problème n'importe pas les signatures C, mais plutôt un lien vers un fichier msvc .LIB – uzul

+0

http://dlang.org/changelog/2.069.0.html#link-against-vs2015 Quelle version utilisez-vous? – weltensturm

+0

Merci beaucoup pour votre aide, j'utilise VS2012, cela fonctionnerait-il aussi? – uzul