gpt4 book ai didi

visual-c++ - 在 Cygwin shell 中调用 cl.exe(MSVC 编译器)

转载 作者:行者123 更新时间:2023-12-03 10:33:24 28 4
gpt4 key购买 nike

我大量使用 Cygwin(使用 PuTTY shell)。但是,调用 cl.exe 非常棘手。 (即 Visual C++ 编译器工具链)在 Cygwin Bash shell 中。运行 vcvars*.bat在 Bash shell 中显然不起作用。我尝试将 VC++ 的环境变量迁移到 Cygwin,但这并不容易。

如何在 Cygwin 的 Bash shell 中运行 VC++ 编译器?

最佳答案

我通常通过添加来解决这个问题

call "%VS80COMNTOOLS%vsvars32.bat" >NUL:

到 c:/cygwin/cygwin.bat。请注意,VS80COMNTOOLS 变量非常有用,因为它为您提供了一种万无一失的 (hm) 方法来定位 vsvars32.bat。

另一种方法是这样,它允许您轻松地在不同的 Studio 版本之间切换:
function run_with_bat()
{
batfile=$1; shift
tmpfile="$TMP/tmp$$.bat"
echo "@echo off" > $tmpfile
echo "call \"%$batfile%vsvars32.bat\" >NUL:" >> $tmpfile
echo "bash -c \"%*\"" >> $tmpfile
cmd /c `cygpath -m "$tmpfile"` "$@"
status=$?
rm -f $tmpfile
return $status
}

function run_vs9()
{
run_with_bat VS90COMNTOOLS "$@"
}

function run_vs8()
{
run_with_bat VS80COMNTOOLS "$@"
}

你现在可以这样做:
$ run_vs8 cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
$ run_vs9 cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

注意编译器版本。

关于visual-c++ - 在 Cygwin shell 中调用 cl.exe(MSVC 编译器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366928/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com