命令行使用cl.exe编译?

时间:2011-10-23 09:51:44

标签: c++ visual-studio-2010 compiler-construction compiler-errors

我试图在不使用IDE的情况下使用Visual Studio Express 2010 C ++编译器。我在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin中找到了cl.exe。但是我遇到了一些困难。首先,当我输入cl说“程序无法启动,因为你的计算机缺少mspdb100.dll”时,它会弹出警告。

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

  

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

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

5 个答案:

答案 0 :(得分:53)

尝试从

启动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.0\VC\vcvarsall.bat" x86

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

(注2:根据需要更改x86。选项包括x86ia64amd64x86_amd64x86_ia64

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

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

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

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

,就会执行1}}

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

或者,您可以按任意顺序添加它,并始终键入cl.bat,或将其命名为其他内容,以免产生混淆。

答案 1 :(得分:5)

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

答案 2 :(得分:4)

只需使用vcvarsall.bat作为jsvk建议:

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

之后,如果你保护自己免受大量头痛的困扰,请使用devenv.exe来构建你的东西​​:

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

您可以使用devenv /?检查许多其他命令行开关。

答案 3 :(得分:4)

我安装了多个版本的VS;我为每个版本创建一个.BAT文件,放在路径中的某个位置,调用相关的“vcvarsall.bat”。例如“vc9.bat”为VS2008调用vcvarsall.bat,而“vc10.bat”为VS2010调用vcvarsall.bat。我可以像往常一样打开一个普通的命令窗口,键入“vc9”,然后使用VS2008准备编译命令窗口。

答案 4 :(得分:0)

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

msbuild命令行:

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

或者,更好的是,将其添加到.vcxproj中的项目设置中  要指定64位版本的编译器和工具,请在Microsoft.Cpp.default.props元素之后将以下属性组元素添加到Myproject.vcxproj项目文件中:

<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