LNK1104: impossible d'ouvrir le fichier ' kernel32.lib'
J'ai fait installer VS2010, mais j'ai découvert qu'intellisense ne fonctionnait pas. J'ai regardé sur le web et j'ai découvert que je n'étais pas le seul à avoir ce problème. Donc, j'ai installé VS2008 et tout allait bien. Alors j'ai décidé de nettoyer mon ordinateur et enlevé VS2010 et immédiatement commencé à avoir cette erreur sur mes programmes (nouveaux et anciens). Même un simple programme de test qui a une commande de calage. J'ai essayé de réparer VS2008 et cela n'a pas fonctionné alors j'ai essayé de désinstaller et puis réinstaller et encore je obtiens le même problème.
j'ai regardé en ligne pour cette question et si j'ai trouvé beaucoup d'autres personnes rencontrent ce problème, il n'est pas le même. Ils ont des problèmes avec d'autres références externes, pas celles qui devraient être automatiquement incluses comme kernel32 et lib32 etc.
j'ai également essayé la solution qui a fonctionné pour certaines personnes avec leurs autres références et j'ai inclus le chemin (avec et sans citations) à mon répertoire kernel32 mais j'ai quand même le même problème, ou dans certains cas je vais avoir
LNK1104: impossible d'ouvrir le fichier 'C:WINDOWSsystem32.objet 151910920"
avec et sans les guillemets dans l'éditeur de liens config.
est-ce que quelqu'un peut aider?
4 réponses
je pense que l'option que vous recherchez ici est-MT au lieu de-MD. J'ai rencontré le même problème. Vous remarquerez que lorsque vous utilisez cette option, la taille de la DLL est beaucoup plus grande (comprend les dépendances)
j'ai inclus le chemin (avec et sans guillemets) dans mon répertoire kernel32
il semble que vous pointez vers C:\Windows\System32
qui est où la DLL pourrait être, mais ce n'est pas où le .fichier lib sera.
Dans VS 2010 c'est probablement quelque part:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib
Je n'ai pas accès à VS2008 pour dire où kernel32.lib est installé par défaut pour ce produit.
dans le cas où quelqu'un vient à ce sujet à nouveau, j'ai trouvé la solution qui a fonctionné pour moi.
dans mon cas UAC de Win 7 et / ou antivirus sortware était / étaient en train de refuser l'accès à kernel32.lib. Après avoir commencé VS 2008 en tant qu'administrateur et désactiver le balayage de Virus pour les dossiers de projet, il a fonctionné pour moi.
j'ai eu ce problème et juste résolu. J'ai fait installer le SDK, cependant, le VCVARS32.bat n'a pas pu trouver le SDK, il a donc choisi des chemins qui n'existaient pas (où VS2008 est installé). Je l'ai forcé à fonctionner en modifiant le VCVARS32.bat ("C:\Program fichiers (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat", voir ligne 13):
11: @call :GetWindowsSdkDir
12:
*13: @SET WindowsSdkDir=C:\Program Files\Microsoft SDKs\Windows\v6.0A\
14:
15: @if not "%WindowsSdkDir%" == "" (
j'ai dû le faire de cette façon car J'ai installé VS2008, VS2010 et VS2012, comme la plupart d'entre nous qui ont probablement à prendre en charge plusieurs projets au sein de plusieurs équipes, afin de mettre à jour quoi que ce soit de global, comme le chemin environnemental actuel, pourrait conduire à mélanger les versions SDK.