【问题标题】:Running MSVC 'cl.exe' from Git Bash (MINGW64)从 Git Bash (MINGW64) 运行 MSVC 'cl.exe'
【发布时间】:2019-09-23 20:50:39
【问题描述】:
我正在尝试找到一种方法来从我在 Windows 上的 Git Bash 终端中调用 Visual Studio C++ 编译器 (MSVC)。
VS2017 的开发人员命令提示运行良好,只是为了编译我的应用程序而在窗口之间切换很烦人。
我尝试将cl.exe 添加到我的路径中,但没有成功。谷歌一直在向我推荐使用 GCC,而我对此并不感兴趣。我还能够找到这两个关于 Cygwin、one about invoking cl.exe 和另一个关于 importing vcvars32.bat funcationality 的问题(它们相互关联)。问题是 1) 这些是针对 Cygwin,而不是 MINGW64,以及 2) 指向 vcvars32.bat/VsDevCmd.bat。该脚本似乎主要用于设置开发环境(如果这很重要,它还通过了VsDevCmd.bat 调用的所有冒烟测试。)。
所以我的问题是:
这可能吗?
如何解决 bash: cl: command not found 并允许从 Git Bash 调用 cl.exe?
【问题讨论】:
标签:
windows
bash
visual-c++
【解决方案1】:
简单的解决方法:从开发人员命令提示符终端内启动您的 Git Bash 终端,以便它继承环境。
更长(但更灵活):将 vcvars32.bat 转换为 bash 脚本并获取它。
【解决方案2】:
C:\>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.8
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
C:\>f:\git\usr\bin\bash.exe
$ cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27027.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]