在 MSVC 2010 命令行中强制 32 位编译

Posted

技术标签:

【中文标题】在 MSVC 2010 命令行中强制 32 位编译【英文标题】:Force 32 bits compilation in MSVC 2010 commandline 【发布时间】:2016-05-28 22:24:10 【问题描述】:

是否可以在 MSVC 2010 命令行可执行文件中指定强制执行 32 位编译的选项?如果有,是什么?

提前感谢您的帮助,

问候。

【问题讨论】:

我非常有信心 MS 在网络上有一个信息页面。或者该工具可以打印其选项列表。 【参考方案1】:

编译 32bit 的命令行需要额外的/D "WIN32"

这将简单地定义WIN32INT_PTR 之类的宏对于 64 位和 32 位的解释不同。例如INT_PTR定义如下:

#if defined(_WIN64)
    typedef __int64 INT_PTR, *PINT_PTR; //64bit
    ...
#else
    typedef _W64 int INT_PTR, *PINT_PTR; //32bit
    ...
#endif

另外,64位的链接选项包括/MACHINE:X64

对于 32 位,必须将其更改为 /MACHINE:X86

在 Visual Studio 中,您可以创建一个示例项目,然后在项目属性中显示 C/C++ 编译和链接的命令行选项。

【讨论】:

以上是关于在 MSVC 2010 命令行中强制 32 位编译的主要内容,如果未能解决你的问题,请参考以下文章

在 MSVC 2010 中编译 64 位应用程序

使用 CMake 强制进行 32 位编译的正确方法

在命令行中执行kms命令激活Microsoft Office 2010

如何强制 MSBuild 编译为 32 位模式?

Qt 5.5.1 MSVC 2013,32 位 - LNK1181:无法打开输入文件 'NIDAQmx.lib'

强制 gcc 在 64 位平台上编译 32 位程序