web-dev-qa-db-fra.com

Compiler en ligne de commande en utilisant cl.exe?

J'essaie d'utiliser le compilateur Visual Studio Express 2010 C++ sans utiliser l'EDI. J'ai trouvé cl.exe dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin. Cependant, j'ai quelques difficultés. Tout d’abord, un avertissement s’affiche lorsque je tape cl en disant «Le programme ne peut pas démarrer car mspdb100.dll est absent de votre ordinateur».

J'ajoute donc C:\Program Files (x86)\Visual Studio 10.0\Common7\IDE au chemin système, puis réessaie, mais cette fois-ci:

erreur irrécupérable C1510: Impossible de charger la ressource linguistique clui.dll. 

Une idée de comment résoudre cela afin que je puisse compiler? Aussi, comment pourrais-je configurer le chemin pour que je puisse simplement taper "cl main.cpp", etc., dans un dossier de solution ne contenant pas cl.exe. Pour le moment, je dois être dans le dossier bin. Merci. 

35
Daniel Gratz

Essayez de démarrer l'invite de commande Visual Studio à partir de 

Start->
    All Programs ->
        Microsoft Visual Studio 2010 ->
            Visual Studio Tools ->
                Visual Studio Command Prompt 2010

Sinon, vous pouvez configurer l'environnement en l'exécutant dans une invite de commande:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

(note: ceci laissera votre environnement configuré après avoir été lancé.)

(note2: changez x86 si vous le souhaitez. les options sont x86, ia64, AMD64, x86_AMD64, x86_ia64)

De là, vous pouvez exécuter cl.exe. Si vous souhaitez que cette opération soit automatiquement effectuée et annulée chaque fois que vous exécutez cl, créez un fichier de traitement avec le contenu suivant:

@echo off
%comspec% /c ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 && cl.exe %*"

(Le /c indique à la commande Invite de mettre fin à la session après avoir exécuté cette commande afin que votre environnement redevienne normal.)

De là, nommez-le cl.bat. Placez ceci dans un dossier quelque part et ajoutez le chemin d'accès à ce dossier à votre variable d'environnement PATH, en vous assurant qu'il est bien entré before le chemin d'accès à cl.exe, afin que ce cl.bat soit exécuté à chaque fois que vous tapez cl au lieu de cl.exe 

Je vous recommande de simplement mettre cl.bat dans votre dossier system32/, il devrait précéder le chemin de cl.exe sur une installation par défaut. 

Sinon, vous pouvez l'ajouter dans n'importe quel ordre et toujours taper cl.bat, ou le nommer autrement, afin d'éviter toute confusion.

52
jsvk

C’est une tâche assez simple et difficile. Tout d’abord, ajoutez le chemin du compilateur au chemin système.:C:\Program Files\Microsoft Visual Studio 10.0\VC\bin; Ensuite, ouvrez Invite de commande et changez de répertoire dans votre dossier source; Ensuite, exécutez le fichier vcvars32.bat pour configurer l'environnement d'utilisation de vc ++ sur x86; Après cela, vous pouvez maintenant taper cl pour compiler votre programme

5
Anthony Oyovwe

J'ai plusieurs versions de VS installées; Je crée un petit fichier .BAT pour chaque version, placé quelque part dans le chemin, qui appelle le fichier "vcvarsall.bat" correspondant. par exemple. "vc9.bat" appelle vcvarsall.bat pour VS2008, tandis que "vc10.bat" appelle vcvarsall.bat pour VS2010. Je peux ouvrir une fenêtre de commande normale comme d'habitude, taper "vc9", et hop, cette fenêtre de commande est prête à être compilée, etc., à l'aide de VS2008. 

4
DaddyBean

Il suffit d'utiliser vcvarsall.bat comme suggéré par jsvk:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

Après cela, utilisez devenv.exe pour construire votre matériel si vous vous protégez de nombreux maux de tête:

devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ]

Il existe de nombreux autres commutateurs de ligne de commande que vous pouvez vérifier avec devenv /?.

4
hege

Cette erreur se produit lorsque l'éditeur de liens manque de mémoire.
Vous pouvez utiliser les outils Visual Studio d’architecture x64.

msbuild en ligne de commande:

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

Ou, mieux encore, ajoutez-le aux paramètres du projet dans le fichier .vcxproj.
Pour spécifier la version 64 bits du compilateur et des outils, ajoutez l'élément de groupe de propriétés suivant au fichier de projet Myproject.vcxproj après l'élément Microsoft.Cpp.default.props:

<PropertyGroup>  
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>  
</PropertyGroup> 

Ces options obligeront Visual studio à utiliser les outils sous les dossiers d'architecture AMD64 (en fonction de l'architecture cible):
VC\bin\AMD64
VC\bin\AMD64_x86
VC\bin\AMD64_arm 

https://msdn.Microsoft.com/en-us/library/dd293607.aspx

0
Yochai Timmer