cygwin shell中的cl.exe

时间:2012-12-14 05:40:29

标签: visual-studio-2010 windows-7 cygwin

我有一个主机系统和一个虚拟机,我试图在两者中设置类似的环境。 我也安装了cygwin和visual studio 10。 我在构建中遇到了问题,最终我找到了我的主机和虚拟机之间的一个区别。

在我的主机中,当我进入clg时,在cygwin shell中我得到以下内容:

$ cl
Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

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

但在我的命令中,我没有输出。

$ cl

(VM为32位,主机为64位)

有人可以告诉我我可能错过了什么设置吗?

1 个答案:

答案 0 :(得分:0)

你应该做的第一件事是找出CygWin中哪些cl 不能正常工作。执行命令:

typeset -f cl
which cl
alias cl

并找出它的回复。如果它不是MS编译器,那就是你的问题。

除此之外,当您尝试从cl窗口而不是CygWin cmd运行bash时,找出错误环境的作用。


根据您的评论:

  

在我的虚拟机上,它是:$ which cl
  /cygdrive/c/Program Files/Microsoft Visual Studio 10.0/VC/bin/x86_amd64/cl

对于32位VM来说,这绝对是错误的。您试图在不支持它的系统上使用64位AMD编译器。

您应该更改使用32位编译器的路径。但是,我不确定您是否有一个,因为amd64ia64x86_amd64x86_ia64似乎都表示64位编译器。

直接在bin下面的那个可能没问题,你必须测试它是否确定(可能有dumpbin它应该能够告诉你可执行文件的文件格式。)