使用cl.exe进行命令行编译?

问题描述 投票:0回答:5

我尝试使用 Visual Studio Express 2010 C++ 编译器而不使用 IDE。我在C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC中找到了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 文件夹内。谢谢。

c++ visual-studio-2010 compiler-errors cl
5个回答
55
投票

尝试从

启动 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
。选项有
x86
ia64
amd64
x86_amd64
x86_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


我建议您将

cl.bat

 放入 
system32/
 文件夹中,默认安装时它应该位于 
cl.exe
 的路径之前。 

或者,您可以按任意顺序添加它,并始终键入

cl.bat

,或将其命名为其他名称,以免混淆。


6
投票
只需按照 jsvk 建议使用

vcvarsall.bat

 即可:

"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 /?

 进行检查。


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


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


3
投票
当链接器内存不足时会发生错误。

您可以使用x64工具架构Visual studio工具。

msbuild命令行:

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

或者,更好的是,将其添加到 .vcxproj 中的项目设置中。

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

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

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

md64 中的 VC
md64_x86 中的 VC
md64_arm 中的 VC

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

© www.soinside.com 2019 - 2024. All rights reserved.