我通过Mingw在Windows上编译了一个linux程序。但是,转换并不完美。
例如,在Windows上,输出是这样的(我得到的是'zu'而不是实数):
Approximated minimal memory consumption:
Sequence : zuM
Buffer : 1 X zuM = zuM
Table : 1 X zuM = zuM
Miscellaneous : zuM
Total : zuM
事实证明Mingw不支持%zu,但提供了一种解决方法。他们在web site上说:
因此,我在程序中进行了搜索,发现cdhit-common.h是唯一带有#include行的文件。因此,我在该行上方定义了USE_MINGW_ANSI_STDIO并进行了编译:
#include<iostream>
#include<fstream>
#include<iomanip>
#include<cstdlib>
#define USE_MINGW_ANSI_STDIO 1
#include<stdio.h>
...
它可以编译,但是程序仍然输出'zu'而不是数字。我可以做什么吗?为什么没有工作?
注意:当我使用mingw时,使用USE_MINGW_ANSI_STDIO的解决方案适用于mingw64。我希望这两个平台都适用。
最佳答案
我现在设法搜索到的宏是:__USE_MINGW_ANSI_STDIO
。试试吧。