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

标签 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 添加到系统路径,然后重试,但这次:

fatal error C1510: Cannot load language resource clui.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.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 告诉命令提示符在运行此命令后结束 session ,以便您的环境恢复正常。)

从那里,将其命名为 cl.bat .将它放在某个文件夹中,然后将该文件夹的路径添加到您的 PATH环境变量,确保它位于 cl.exe 的路径之前, 这样 cl.bat每当您键入 cl 时都会执行而不是 cl.exe

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

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

关于c++ - 使用 cl.exe 进行命令行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865432/

相关文章:

c++ - 如何清除opengl着色器缓存

visual-studio-2010 - 如何在Visual Studio中查看qDebug()?

c++ - 在整个文件范围内设置 std::cout 的精度 - C++ iomanip

c++ - 并发::任务析构函数导致调用在有效用例中中止

c# - VS 2010 将非 GUI 类文件设置为组件

c - 优化后代码如何工作?

将 C 代码编译为 MIPS 程序集

c++ - 为什么编译 VCC .sln 在没有标准输出的情况下在后台运行?

表达式计算的 C++ 设计问题

visual-studio-2010 - ReSharper缓慢而麻烦