命令行编译使用cl.exe

Command line compile using cl.exe?

本文关键字:cl exe 编译 命令行      更新时间:2023-10-16

我试图使用Visual Studio Express 2010 c++编译器而不使用IDE。我在C:Program Files (x86)Microsoft Visual Studio 10.0VCbin中找到cl.exe。然而,我有一些困难。首先,当我输入cl时,它会弹出一个警告,说"程序无法启动,因为您的计算机中缺少mspdb100.dll"。

所以我添加C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE到系统路径,然后再试一次,但这次:

致命错误C1510:无法加载语言资源clup .dll。

任何想法如何解决这个问题,所以我可以编译?另外,我如何设置路径,这样我就可以从不包含cl.exe的解决方案文件夹中键入'cl main.cpp'等。目前我必须在bin文件夹内。谢谢。

尝试从

启动Visual Studio命令提示符
Start->
    All Programs ->
        Microsoft Visual Studio 2010 ->
            Visual Studio Tools ->
                Visual Studio Command Prompt 2010

或者,您可以通过在命令提示符中运行该命令来设置环境:

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

(注意:这将在运行后留下您的环境设置)

(注2:根据需要更改x86。选项为x86, ia64, amd64, x86_amd64, x86_ia64)

从那里你可以运行cl.exe。如果您希望在运行cl时自动完成和撤消此操作,请创建一个包含以下内容的批处理文件:

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

(/c告诉命令提示符在运行此命令后结束会话,以便您的环境恢复正常。)

从那里,命名为cl.bat。把它放在某个文件夹中,并将该文件夹的路径添加到PATH环境变量中,确保出现在cl.exe路径之前,这样当你输入cl而不是cl.exe

时,这个cl.bat就会执行。

我建议你把cl.bat放在你的system32/文件夹中,它应该在默认安装的cl.exe的路径之前。

或者,您可以以任何顺序添加它,并且总是键入cl.bat,或者将其命名为其他名称,这样就不会混淆了。

这是一个非常简单和直接的任务。首先将编译器路径添加到系统路径中。:C:Program FilesMicrosoft Visual Studio 10.0VCbin;接下来,打开命令提示符并将目录更改为源文件夹;然后执行vcvars32.bat文件设置在x86平台上使用vc++的环境;之后,您现在可以输入cl来编译您的程序

按照jsvk的建议使用vcvarsall.bat:

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

在那之后,使用devenv.exe来构建你的东西,如果你想让自己远离很多头疼的话:

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

还有很多其他的命令行开关,你可以用devenv /?检查。

我安装了多个版本的VS;我为每个版本创建了一个小的.bat文件,放在路径的某个地方,调用相关的"vcvarsall.bat"。如。"vc9.bat"在VS2008中调用vcvarsall.bat,而"vc10.bat"在VS2010中调用vcvarsall.bat。我可以像往常一样打开一个正常的命令窗口,输入"vc9",然后,该命令窗口准备使用VS2008编译等。

当链接器内存不足时发生错误。
你可以使用x64工具架构Visual studio工具。

msbuild命令行:
msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

或者,更好的是,将它添加到.vcxproj.文件中的项目设置中。要指定64位版本的编译器和工具,将以下属性组元素添加到Myproject中。

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

这些选项将使Visual studio使用amd64架构文件夹下的工具(根据目标架构):
VC bin amd64
VC bin amd64_x86
VC bin amd64_arm

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