Invoking cl.exe (MSVC compiler) in Cygwin shell

前端 未结 12 2226
执念已碎
执念已碎 2020-12-04 16:50

I\'m heavily using Cygwin (with PuTTY shell). But, it\'s quite tricky to invoke cl.exe (that is, the Visual C++ compiler toolchain) in the Cygwin Bash shell. R

12条回答
  •  情歌与酒
    2020-12-04 17:21

    Following suggestions in the other answers, I did a diff of my bash "set" results with and without the MSVC variables, and came up with the following script to reproduce them for my installation of Microsoft Visual C++ 2010 Express. I've refactored it a bit to put all the installation-dependent pieces at the top, so hopefully this can be of use to others.

    # These lines will be installation-dependent.
    export VSINSTALLDIR='C:\Program Files\Microsoft Visual Studio 10.0\'
    export WindowsSdkDir='C:\Program Files\Microsoft SDKs\Windows\v7.0A\'
    export FrameworkDir='C:\WINDOWS\Microsoft.NET\Framework\'
    export FrameworkVersion=v4.0.30319
    export Framework35Version=v3.5
    
    # The following should be largely installation-independent.
    export VCINSTALLDIR="$VSINSTALLDIR"'VC\'
    export DevEnvDir="$VSINSTALLDIR"'Common7\IDE\'
    
    export FrameworkDIR32="$FrameworkDir"
    export FrameworkVersion32="$FrameworkVersion"
    
    export INCLUDE="${VCINSTALLDIR}INCLUDE;${WindowsSdkDir}include;"
    export LIB="${VCINSTALLDIR}LIB;${WindowsSdkDir}lib;"
    export LIBPATH="${FrameworkDir}${FrameworkVersion};"
    export LIBPATH="${LIBPATH}${FrameworkDir}${Framework35Version};"
    export LIBPATH="${LIBPATH}${VCINSTALLDIR}LIB;"
    
    c_VSINSTALLDIR=`cygpath -ua "$VSINSTALLDIR\\\\"`
    c_WindowsSdkDir=`cygpath -ua "$WindowsSdkDir\\\\"`
    c_FrameworkDir=`cygpath -ua "$FrameworkDir\\\\"`
    
    export PATH="${c_WindowsSdkDir}bin:$PATH"
    export PATH="${c_WindowsSdkDir}bin/NETFX 4.0 Tools:$PATH"
    export PATH="${c_VSINSTALLDIR}VC/VCPackages:$PATH"
    export PATH="${c_FrameworkDir}${Framework35Version}:$PATH"
    export PATH="${c_FrameworkDir}${FrameworkVersion}:$PATH"
    export PATH="${c_VSINSTALLDIR}Common7/Tools:$PATH"
    export PATH="${c_VSINSTALLDIR}VC/BIN:$PATH"
    export PATH="${c_VSINSTALLDIR}Common7/IDE/:$PATH"
    

提交回复
热议问题