如何配置才能使用cl命令编译C/C++程序?
2016-09-19 13:05
561 查看
转自: http://blog.csdn.net/livelylittlefish/article/details/6093903
详细参考: http://blog.csdn.net/cocoonyang/article/details/48135515
在 VS 环境中,我们可以顺利的编译、生成程序。究其原因,是因为 VS 的 IDE 本身已经配置好了编译程序所需的 executable file , include files 和 library 的路径。以 VS2005 为例,在其 IDE 环境中,通过 tools->options->Projects and Solutions->VC++ Directories ,即可查看已经配置好的 Executable files , Include files 和 Library files 。
我们知道, VS 也提供了命令行,那么,该如何配置,才能通过命令行编译、生成程序?
本文以 VS2005 为例,操作系统为 windows XP ,且笔者的机器中安装了 ACE , Boost , cppunit 等软件或库。 VS 及这些软件或库的安装目录如下。
1. 方法 1 :手动配置
下文的操作都是通过直接通过“系统 -> 属性 -> 高级 -> 环境变量 ”来添加或修改的,以便于立即生效。
(1) 添加公共变量
(2) 修改 path 变量
在用户 path 变量后面添加如下路径:
(3) 添加 INCLUDE 变量
(4) 添加 LIB 变量
其中,
当然,这几个变量是已经配置好的。
方法 2 :自动配置
如果想省事,我们可以修改并执行以下 bat 文件,该文件会完成 VS2005 的环境变量的设置。
D:/Program Files/Microsoft Visual Studio 8/Common7/Tools /vsvars32.bat
文件修改前的内容如下,
如果不修改该文件,运行完 vsvars32.bat 文件,只能通过命令行编译、生成一般的 C/C++ 程序;所以,如果程序是基于诸如 ACE 、 Boost 等库的程序,则编译、生成仍然会失败,因为 vsvars32.bat 文件只是设置了一些一般的 C/C++ 程序所需要的头文件和库目录。因此,为了能够编译 ACE 、 Boost 和 CppUnit 的程序,需要修改 vsvar32.bat 文件,修改如下
红色部分即为添加的内容。
Appendix : 笔者机器上的环境变量
画线部分为手动配置中新加入的目录。
详细参考: http://blog.csdn.net/cocoonyang/article/details/48135515
在 VS 环境中,我们可以顺利的编译、生成程序。究其原因,是因为 VS 的 IDE 本身已经配置好了编译程序所需的 executable file , include files 和 library 的路径。以 VS2005 为例,在其 IDE 环境中,通过 tools->options->Projects and Solutions->VC++ Directories ,即可查看已经配置好的 Executable files , Include files 和 Library files 。
我们知道, VS 也提供了命令行,那么,该如何配置,才能通过命令行编译、生成程序?
本文以 VS2005 为例,操作系统为 windows XP ,且笔者的机器中安装了 ACE , Boost , cppunit 等软件或库。 VS 及这些软件或库的安装目录如下。
D:/Program Files/Microsoft Visual Studio 8 E:/opensource/ACE-5.6.4/ACE_wrappers E:/opensource/boost_1_40_0 E:/opensource/cppunit-1.12.1
1. 方法 1 :手动配置
下文的操作都是通过直接通过“系统 -> 属性 -> 高级 -> 环境变量 ”来添加或修改的,以便于立即生效。
(1) 添加公共变量
VSInstallDir=D:/Program Files/Microsoft Visual Studio 8 VCInstallDir=D:/Program Files/Microsoft Visual Studio 8/VC FrameworkDir=C:/WINDOWS/Microsoft.NET/Framework FrameworkVersion=v2.0.50727
(2) 修改 path 变量
在用户 path 变量后面添加如下路径:
%VCInstallDir%/BIN; %VCInstallDir%/PlatformSDK/bin; %VSInstallDir%/Common7/IDE; %VSInstallDir%/Common7/Tools; %VSInstallDir%/Common7/Tools/bin; %VSInstallDir%/SDK/v2.0/bin; %FrameworkDir%/%FrameworkVersion%; %VCInstallDir%/VCPackages;
(3) 添加 INCLUDE 变量
%VCInstallDir%/ATLMFC/INCLUDE; %VCInstallDir%/INCLUDE; %VCInstallDir%/PlatformSDK/include; %VSInstallDir%/SDK/v2.0/include; %ACE_ROOT%; %BOOST_1_40_ROOT%; %CPPUNIT_ROOT%/include ;
(4) 添加 LIB 变量
%VCInstallDir%/ATLMFC/LIB; %VCInstallDir%/LIB; %VCInstallDir%/PlatformSDK/lib; %VSInstallDir%/SDK/v2.0/lib; %ACE_ROOT%/lib; %BOOST_1_40_ROOT%/stage/lib; %CPPUNIT_ROOT%/lib ;
其中,
ACE_ROOT=E:/opensource/ACE-5.6.4/ACE_wrappers BOOST_1_40_ROOT=E:/opensource/boost_1_40_0 CPPUNIT_ROOT=E:/opensource/cppunit-1.12.1
当然,这几个变量是已经配置好的。
方法 2 :自动配置
如果想省事,我们可以修改并执行以下 bat 文件,该文件会完成 VS2005 的环境变量的设置。
D:/Program Files/Microsoft Visual Studio 8/Common7/Tools /vsvars32.bat
文件修改前的内容如下,
@SET VSINSTALLDIR =D:/Program Files/Microsoft Visual Studio 8 @SET VCINSTALLDIR =D:/Program Files/Microsoft Visual Studio 8/VC @SET FrameworkDir =C:/WINDOWS/Microsoft.NET/Framework @SET FrameworkVersion =v2.0.50727 @SET FrameworkSDKDir =D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0 @if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR @if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR @echo Setting environment for using Microsoft Visual Studio 2005 x86 tools. @rem @rem Root of Visual Studio IDE installed files. @rem @set DevEnvDir=D:/Program Files/Microsoft Visual Studio 8/Common7/IDE @set PATH =D:/Program Files/Microsoft Visual Studio 8/Common7/IDE;D:/Program Files/Microsoft Visual Studio 8/VC/BIN;D:/Program Files/Microsoft Visual Studio 8/Common7/Tools;D:/Program Files/Microsoft Visual Studio 8/Common7/Tools/bin;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/bin;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;D:/Program Files/Microsoft Visual Studio 8/VC/VCPackages;%PATH% @set INCLUDE =D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;D:/Program Files/Microsoft Visual Studio 8/VC/INCLUDE;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/include;%INCLUDE% @set LIB =D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;D:/Program Files/Microsoft Visual Studio 8/VC/LIB;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib;%LIB% @set LIBPATH =C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB @goto end :error_no_VSINSTALLDIR @echo ERROR: VSINSTALLDIR variable is not set. @goto end :error_no_VCINSTALLDIR @echo ERROR: VCINSTALLDIR variable is not set. @goto end :end
如果不修改该文件,运行完 vsvars32.bat 文件,只能通过命令行编译、生成一般的 C/C++ 程序;所以,如果程序是基于诸如 ACE 、 Boost 等库的程序,则编译、生成仍然会失败,因为 vsvars32.bat 文件只是设置了一些一般的 C/C++ 程序所需要的头文件和库目录。因此,为了能够编译 ACE 、 Boost 和 CppUnit 的程序,需要修改 vsvar32.bat 文件,修改如下
@SET VSINSTALLDIR =D:/Program Files/Microsoft Visual Studio 8 @SET VCINSTALLDIR =D:/Program Files/Microsoft Visual Studio 8/VC @SET FrameworkDir =C:/WINDOWS/Microsoft.NET/Framework @SET FrameworkVersion =v2.0.50727 @SET FrameworkSDKDir =D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0 @SET ACE_ROOT=E:/opensource/ACE-5.6.4/ACE_wrappers @SET BOOST_1_40_ROOT=E:/opensource/boost_1_40_0 @SET CPPUNIT_ROOT=E:/opensource/cppunit-1.12.1 @if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR @if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR @echo Setting environment for using Microsoft Visual Studio 2005 x86 tools. @rem @rem Root of Visual Studio IDE installed files. @rem @set DevEnvDir=D:/Program Files/Microsoft Visual Studio 8/Common7/IDE @set PATH =D:/Program Files/Microsoft Visual Studio 8/Common7/IDE;D:/Program Files/Microsoft Visual Studio 8/VC/BIN;D:/Program Files/Microsoft Visual Studio 8/Common7/Tools;D:/Program Files/Microsoft Visual Studio 8/Common7/Tools/bin;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/bin;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;D:/Program Files/Microsoft Visual Studio 8/VC/VCPackages;%PATH% @set INCLUDE =D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;D:/Program Files/Microsoft Visual Studio 8/VC/INCLUDE;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/include; %ACE_ROOT%;%BOOST_1_40_ROOT%;%CPPUNIT_ROOT%/include ; %INCLUDE% @set LIB =D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;D:/Program Files/Microsoft Visual Studio 8/VC/LIB;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib; %ACE_ROOT%/lib;%BOOST_1_40_ROOT%/stage/lib;%CPPUNIT_ROOT%/lib ; %LIB% @set LIBPATH =C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB @goto end :error_no_VSINSTALLDIR @echo ERROR: VSINSTALLDIR variable is not set. @goto end :error_no_VCINSTALLDIR @echo ERROR: VCINSTALLDIR variable is not set. @goto end :end
红色部分即为添加的内容。
Appendix : 笔者机器上的环境变量
C:/Documents and Settings/zubo.yu/Desktop>echo %PATH% C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;D:/Program Files/Cppcheck/;C:/Program Files/ Rational/ClearCase/bin;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/ Rational/common;D:/Program Files/TortoiseSVN/bin;D:/Program Files/UltraEdit/;E:/opensource/ACE-5.6.4 /ACE_wrappers/lib;D:/Program Files/Microsoft Visual Studio 8/VC/BIN;D:/Program Files/Microsoft Visua l Studio 8/VC/PlatformSDK/bin;D:/Program Files/Microsoft Visual Studio 8/Common7/IDE;D:/Program File s/Microsoft Visual Studio 8/Common7/Tools;D:/Program Files/Microsoft Visual Studio 8/Common7/Tools/b in;D:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.5 0727;D:/Program Files/Microsoft Visual Studio 8/VC/VCPackages; C:/Documents and Settings/zubo.yu/Desktop>echo %INCLUDE% D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;D:/Program Files/Microsoft Visual Studi o 8/VC/INCLUDE;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;D:/Program Files/Mi crosoft Visual Studio 8/SDK/v2.0/include;E:/opensource/ACE-5.6.4/ACE_wrappers;E:/opensource/boost_1_ 40_0;E:/opensource/cppunit-1.12.1/include C:/Documents and Settings/zubo.yu/Desktop>echo %LIB% D:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;D:/Program Files/Microsoft Visual Studio 8/ VC/LIB;D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;D:/Program Files/Microsoft Visu al Studio 8/SDK/v2.0/lib;E:/opensource/ACE-5.6.4/ACE_wrappers/lib;E:/opensource/boost_1_40_0/stage/l ib;E:/opensource/cppunit-1.12.1/lib
画线部分为手动配置中新加入的目录。
相关文章推荐
- 如何配置才能使用cl命令编译C/C++程序?
- VS下如何配置才能使用 cl 命令行方式编译 C/C++ 程序
- ubuntu使用技巧——如何编译C++和C语言的使用程序
- C++ WINDOWS API 如何使用NMAKE和CL编译
- C++ WINDOWS API 如何使用NMAKE和CL编译
- 如何使用cmd编译c/c++程序
- DOS 使用CL命令 编译程序
- 如何在windows中使用cmd命令去编译,运行C++程序
- C++ WINDOWS API 如何使用NMAKE和CL编译
- 如何使用notepad++搭配MinGW配置编译C/C++
- 使用cl.exe在windows控制台下编译C++程序
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- 如何判断程序是由C编译程序编译的,还是由C++编译程序编译的.
- C#使用_如何在没有装VS(Visual Studio)的机器上编译运行C#程序
- More Effective C++ Item M34:如何在同一程序中混合使用C++和C
- 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++) [转]
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 如何使用linux ifconfig命令配置网卡
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- (转载) 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)