J'essaye de créer une bibliothèque de C++ pour l'usage sur windows/MSVC. Mon problème est qu'il me semble que pour lier correctement, j'ai besoin de distribuer un tas de versions différentes, liées à différentes versions des runtimes C++ de MSVC - single et multi-thread, debug et release, différentes versions du compilateur, diverses autres options de sécurité et autres.Création de bibliothèques Windows C++ sans runtime?
J'aimerais distribuer juste deux, 32 bits et 64 bits.
Mon idée est peut-être d'utiliser un nouvel opérateur différent (disons mynew) et des allocateurs personnalisés pour tous mes types STL. Lors de la création de la lib,/nodefaultlib. Ensuite, lorsque vous créez un lien à partir d'un projet parent, demandez-leur d'ajouter mynew à new, et mon allocateur stl à celui standard (ou à celui de leur choix). Je suppose que je devrais faire supprimer, et quelques autres fonctions. Naturellement, je fournirais un exemple de mise en œuvre thunking avec la bibliothèque, mais cela devrait, espérons-le, sauver beaucoup de maux de tête.
Est-ce possible? Est-ce que quelqu'un a déjà essayé ça? Existe-t-il des meilleures pratiques pour la création/distribution de bibliothèques sur Windows/MSVC?
J'ai augmenté votre réponse. Vous ne voulez normalement pas utiliser msvcrt.dll, et l'approche DDK est non documentée et non supportée autant que je sache. D'où le "tu n'as pas entendu ça de moi". :-) –