2013-04-09 3 views
2

J'ai fait beaucoup de choses avec mon projet de formation en C++ pour lequel stackoverflow m'a beaucoup aidé. J'ai toujours essayé de le garder le plus "standard" possible, donc ce serait multi-plateforme. En utilisant boost ici et là, le threading C++ 11 et un wrapper qui utilise les sockets WIN32 ou l'API BSD. Et j'ai décidé de compiler à RELEASE pour un ami juste pour montrer et il a fallu MSVCPP110.dll installé sur son ordinateur :(C++: Un moyen de trouver ce qui dépend de Visual C++ Redistribuer

J'ai eu ce problème au début, mais j'ai ensuite défini le Visual Studio pour compiler le MFC en tant que STATIC bibliothèque, et qui a fixé les tests initiaux, mais je n'ai aucune idée de ce que j'ai mis dans le code qui nécessiterait "mes utilisateurs" pour installer Visual C++ Redistribute pour une application console simple qui démarre 2 threads et ouvre un TCP

Avez-vous des conseils pour un débutant, comment puis-je vérifier ce qui dérange mon système, OU un moyen de l'inclure avec le fichier exécutable, j'ai vu quelques jeux sur mon ordinateur ont la DLL ci-dessus dans leurs répertoires d'installation, cela fonctionnerait-il si je juste empaqueter cette DLL avec mon exécutable?

Merci pour toute suggestion sur ce sujet à l'avance!

PS: Après un examen approfondi de mon code, je compris que cela pourrait être un problème

#pragma comment(lib, "ws2_32.lib")

Mais je ne semble pas trouver une version statique de cette bibliothèque: U Y at-il solution de contournement pour cette. J'ai besoin de cette bibliothèque pour l'appel de démarrage WSA

WSAStartup(MAKEWORD(2,2), &Winsock);

+0

ws2_32.lib fait partie de Windows, pas de Visual Studio. Ne le distribuez pas. VC++ est livré avec une liste exhaustive de ce que vous * pouvez * redistribuer. – MSalters

Répondre

4

vous n'avez pas besoin de tous les fichiers habituellement seulement 1 ou deux comme mfcXXX et msvcrxxx

vérifier vos dépendances à l'aide http://dependencywalker.com/ et les ajouter à votre distrubution

Questions connexes