【发布时间】:2010-11-17 00:38:19
【问题描述】:
我肯定遗漏了一些非常明显的东西,但由于某种原因,Microsoft C++ 编译器 (cl.exe) 的命令行版本似乎不支持在运行时仅报告其版本。我们需要它来编写检查我们工具的用户已安装的编译器版本的 makefile(他们获得带有要在本地编译自己的代码的 makefile,因此我们无法控制他们的编译器版本)。
在 gcc 中,您只需提供选项 -v 或 --version 即可打印出漂亮的版本字符串。
在 cl.exe 中,您会收到 -v 错误。
我已阅读 MSDN 文档和编译器在线帮助,但找不到仅打印编译器版本的开关。烦人的是,你总是在编译器启动时得到版本......但你似乎无法启动编译器只是为了从中获取版本。
Finding compiler vendor / version using qmake 看起来很相似,但只处理 gcc 的简单情况。
如果这很重要,我正在尝试使用 VC++ Express 2005。我希望它不会,因为检测编译器版本最好以独立于编译器版本的方式完成:)
回复后更新:
- 不带任何参数运行 cl.exe 打印它的版本和一些帮助 文本。
- 这看起来像最 获取版本的便携方式, 跨vc版本。
- 然后你必须 解析多行输出,但是 不是太难。
- 我们在 结束,它起作用了。
【问题讨论】:
标签: visual-c++ makefile