msvc + GNU 制作
Posted
技术标签:
【中文标题】msvc + GNU 制作【英文标题】:msvc + GNU make 【发布时间】:2010-10-17 20:30:16 【问题描述】:我知道 windows 上最快和最轻量级的二进制文件只生成 msvc 编译器
msvc Express 版是免费的 http://www.microsoft.com/express/windows/
但是如何使用 cl.exe 而不是 g++.exe 呢?
是否有可能通过使用 GNU make 变量来生成适用于 cl.exe 和 g++ 的 makefile?
例如 http://msdn.microsoft.com/en-us/library/19z1t1wy(v=VS.80).aspx
export CC = path/to/cl.exe
export COMPILE_WITHOUT_LINKING = /c
export OBJECT_FILE = /Fo
还是 cl 和 g++ 的概念有很大不同?
【问题讨论】:
-1 表示初始假设不正确。 【参考方案1】:当然可以。 cl.exe
只是另一个命令行工具。但是,这两个编译器在更高级的用法上有所不同,因此可能很难使用cl.exe
作为g++
的直接替代品。
【讨论】:
【参考方案2】:Make(GNU make 或其他)可用于运行您喜欢的任何程序来生成文件。它是一个完全与语言无关的抽象依赖生成系统。但是,如果您尝试使用使用标准 POSIX 样式编译器/链接器命令行的现有项目,并使其使用 MSVC 的cl.exe
,您可能会遇到很多不兼容的命令行语法问题,更不用说cl.exe
仍在努力遵守它声称支持的古老标准,更不用说 C99。
总而言之,gcc 无疑是一个更好的选择,如果您有选择的话。
【讨论】:
以上是关于msvc + GNU 制作的主要内容,如果未能解决你的问题,请参考以下文章
MSVC下使用gnu regex(正则表达式C语言接口regex.h)
如何在 GDB 可以中断但不能算作函数的 GNU GAS ELF 输出中制作本地标签?