上次的代码虽然能够编译运行,但完全抛弃了 _tmain
,看起来不怎么舒服。查看 MinGW 的头文件后,我发现 _tmain
的宏展开都是正确的,只是没有定义 wmain
而已。于是,只要像下面这样补上 wmain
的定义,就可以正常使用 _tmain
了:
- #if defined(__GNUC__) && defined(_UNICODE)
- extern int _CRT_glob;
- extern
- #ifdef __cplusplus
- "C"
- #endif
- void __wgetmainargs(int*, LPTSTR**, LPTSTR**, int, int*);
- int wmain(int argc, LPTSTR* argv, LPTSTR* envp);
- int main() {
- int argc;
- LPTSTR* argv;
- LPTSTR* envp;
- int si;
- __wgetmainargs(&argc, &argv, &envp, _CRT_glob, &si);
- return wmain(argc, argv, envp);
- }
- #endif
- int _tmain(int argc, LPTSTR* argv, LPTSTR* envp) {