2010-05-31 9 views
1

IDE: VS2005C++ Application Windows pour inclure tous les fichiers DLL dans un fichier exécutable

dire que je suis en utilisant la bibliothèque Poco et les besoins exécutables ci-dessous dll. Je dois les mettre dans le même répertoire où se trouve l'exécutable.

msjava.dll 
msvcp80.dll 
msvcr80.dll 
PocoFoundation.dll 
PocoNet.dll 

Est-il possible de créer un fichier exécutable sans DLL? Merci.

+0

Copie possible? http://stackoverflow.com/questions/336961/packing-an-exe-dll-into-one-executable-not-net/613798 – kloffy

Répondre

2

Ils n'ont pas besoin d'être dans le même répertoire. Ils peuvent être dans un autre répertoire si vos variables PATH incluent le répertoire dans lequel ils se trouvent.

Il semble que les bibliothèques Poco puissent être téléchargées en tant que source, vous devriez donc pouvoir les compiler en tant que bibliothèques statiques et en faire un exécutable autonome .

Mise à jour

Pour la msvc DLL, vous pouvez construire avec les bibliothèques statiques. Apportez les propriétés de votre projet, allez en C/C++, génération de code et modifiez "Runtime Library". Assurez-vous de choisir une bibliothèque autre que "Multi-threaded DLL" ou "Multi-threaded Debug DLL". Vous voudrez aussi vous assurer de le faire pour les bibliothèques Poco.

+1

merci, je le sais. Mais le problème est que certaines machines n'ont certainement pas VS2005 installé et il n'y a pas msvcp80.dll msvcr80.dll à ce sujet. C'est pourquoi j'ai posé cette question. – Stan

+1

@Stan - mise à jour de la réponse –

+0

Pourriez-vous s'il vous plaît expliquer un peu plus sur la façon de faire cela? Dois-je inclure le code source de la bibliothèque dans la solution et changer la propriété en bibliothèque statique (où?). Dois-je changer quelque chose dans le projet principal? Merci. – Stan

Questions connexes