2010-09-14 8 views
0

J'ai créé une bibliothèque statique, j'ai le .lib et les en-têtes. Mon ami essaie d'utiliser cette bibliothèque, mais quand il inclut ces en-têtes, son compilateur n'a pas trouvé les dépendances (autres libs et en-tête).Bibliothèque statique Windows

Est-il possible de créer une bibliothèque statique dans Visual Studio 2008, qui n'a pas besoin d'autres dépendances, juste le compilateur ajoute les dépendances requises dans cette bibliothèque?

Il pourrait être bon s'il n'a pas à installer winddk, WDK, etc ...

Répondre

0

Est-il possible de créer une bibliothèque statique dans Visual Studio 2008, qui n'a pas besoin d'autres dépendances, juste le compilateur ajoute les dépendances requises dans cette bibliothèque de signatures?

oui .. microsoft compilateur Visual C ne prend pas en charge la construction exe/lib avec zéro dépendance
dépendance zéro = a besoin que le système lib et MSVCRT.dll

Mingw prend en charge que l'utilisation -static dans la options de l'éditeur de liens
va générer une construction libre de dépendance nécessite msvcrt.dll runtime qui peut être trouvé sur n'importe quel système ..
comme pour le compilateur visuel c de Microsoft, il faudra la même version de l'exécution de c par exemple msvcrt9p.dll, ..
qui force quiconque veut r un l'application pour télécharger la même version .Net Runtime utilisé dans le développement

0

Je pense que vous voulez inclure les bibliothèques d'exécution dans votre fichier .lib.

  1. Faites un clic droit sur votre projet
  2. Aller à la configuration Propriétés -> C/C++ -> Code de volet Génération
  3. Pour Runtime Library sélectionnez multithread de débogage (/ MTd)

Répéter stpes 1-3 pour la configuration Release.

L'utilisateur de votre fichier .lib devra faire la même chose dans ses fichiers .exes. Vous devrez toujours distribuer le fichier .lib et les fichiers .h.