Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
398 views
in Technique[技术] by (71.8m points)

c++ - Command line compile using cl.exe?

Am trying to use the Visual Studio Express 2010 C++ compiler without using the IDE. I found cl.exe in C:Program Files (x86)Microsoft Visual Studio 10.0VCin. However am having a few difficulties. Firstly it gave me a warning pop up when i type cl saying 'Program cannot start because mspdb100.dll is missing from your computer.'

So i add C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE to the system path and then try again, but this time:

fatal error C1510: Cannot load language resource clui.dll.

Any idea how to solve this so i can compile? Also how would i set up the path so i can just type 'cl main.cpp' etc, from within a solution folder that does not contain cl.exe. At the moment i have to be inside bin folder. Thanks.

question from:https://stackoverflow.com/questions/7865432/command-line-compile-using-cl-exe

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try starting the Visual Studio Command Prompt from

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

Alternatively, you can set up the environment by running this in a command prompt:

"c:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86

(note: this will leave your environment set up after running.)

(note2: change x86 as desired. options are x86, ia64, amd64, x86_amd64, x86_ia64)

From there you can run cl.exe. If you want this to be automatically done and undone whenever you run cl, create a batch file with this content:

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

(the /c tells the command prompt to end the session after running this command, so your environment returns to normal.)

From there, name it cl.bat. Put this in a folder somewhere, and add the path to that folder to your PATH environment variable, making sure it comes before the path to cl.exe, so that this cl.bat is executed whenever you type cl instead of cl.exe

I recommend you just put cl.bat in your system32/ folder, it should come before cl.exe's path on a default installation.

Alternatively, you can add it in any order and always type cl.bat, or name it something else so there's no confusion.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...