微软C++编译器太烦人了!是不是有为 Windows 32/64 位编译的替代方法?

Posted

技术标签:

【中文标题】微软C++编译器太烦人了!是不是有为 Windows 32/64 位编译的替代方法?【英文标题】:Microsoft C++ compiler is too annoying! Is there an alternative for compiling for Windows 32/64bit?微软C++编译器太烦人了!是否有为 Windows 32/64 位编译的替代方法? 【发布时间】:2011-08-27 07:34:16 【问题描述】:

我对 Microsoft C++ 编译器(不是 Visual)感到非常沮丧。我真的很生气它的使用方式

int _tmain(

_TCHAR* argv[]

还有很多其他的东西。我只想像在 GCC 中一样直接使用 C++。有其他选择吗?

感谢所有回复。我真的只是在寻找一种不使用 Microsoft Style 代码的方法。这对我有帮助 -

    删除#include "stdafx.h" 将 main 方法重命名为 -

int main (int argc, char* argv[]) return 0;

而且有效!

【问题讨论】:

as well as many other things 评论几乎没有误导性,给人的印象是您想要更改编译器的原因不仅仅是摆脱 Microsoft 特定的实现。无论如何,很高兴您找到了解决方案。 请参阅此以了解 T-Stuff:codeproject.com/Tips/76252/… 【参考方案1】:

如果您不想使用,则不必使用 _tmain()TCHAR。只需创建一个空项目,向其中添加一个空源文件并开始编写

int main(int argc, char* argv[])


在 VC++ 2010 Express 上,您可以直接编译并执行它。我不记得以前的版本是否需要您设置项目类型。

【讨论】:

【参考方案2】:

您可以尝试 MinGW-32/64 用于 windows。

【讨论】:

为什么有人会否决这个?我对问题的评论已经说明了为什么我建议使用另一个编译器而不是其他人建议的修改。呼……【参考方案3】:

_tmain/_TCHAR 是可选的(您可以在 MSDN 上阅读更多相关信息,Generic-Text Mappings in Tchar.h)。如果您愿意,可以从项目中删除tchar.h 文件和#include,然后直接使用wmain/wchar_t(或main/char 用于ANSI)。

【讨论】:

谢谢,您无需选择不同的编译器,而是让我通过简单的调整来解决这个问题。我刚刚删除了#include "stdafx.h" 并将我的主要方法重命名为 int main (int argc, char* argv[]) 并且它有效! :P【参考方案4】:

您可以获得适用于 Windows 的 gcc。查看cygwin 网站。我知道 MS 允许您使用 _tmain、TCHAR 等,但它是我第一次听说它实际上需要您这样做,您确定您没有错过某些选项吗?

【讨论】:

【参考方案5】:

您可以尝试gcw 和MinGW,但我对两者的结果都不一样,所以 YMMV...

【讨论】:

以上是关于微软C++编译器太烦人了!是不是有为 Windows 32/64 位编译的替代方法?的主要内容,如果未能解决你的问题,请参考以下文章

C++ /CLI 和 C++ 的区别?

Visual Studio Code配置C++环境

Linux 是不是有更快的 c++ 编译器?

c++代码反编译

微软开源C#编译器

从 C++ 更新 QML Window 属性标志