我正在学习Windows API,并使用mingw作为我的编译器,Code :: Blocks作为我的IDE.我遇到了使用wWinMain函数的问题.我使用了这里的程序链接文本.它在VSC++ 2008 express上编译得很好但是在使用mingw时我得到了"未定义的WinMain @ 16引用"错误.我已经弄清楚问题是什么(我认为).通过仅使用Winmain替换wWinMain,使用LPSTR替换字符串指针PWSTR,它可以完美地编译.我的问题是,我该如何解决这个问题,如果没有,那就不是使用Unicode了.
谢谢.
XP1*_*XP1 26
对于旧版本的MinGW,您可以使用包装器:
MinGW的支持unicode的主:
https://github.com/coderforlife/mingw-unicode-main/
在MinGW中添加wmain和wWinMain支持的简单包装器
这些包装器允许在MinGW中使用wmain/wWinMain与Unicode(WCHAR),常规(CHAR)或选择(TCHAR)的能力无缝地使用.
使用它们的说明在文件中.另请查看使用它们的其他程序.
对于MinGW的新版本,您应该使用该-municode选项,就像在mingw-unicode-main自述文件中所述:
注意:这应该不再使用,因为MinGW现在有一个内置的解决方案.将-municode添加到命令行(可能将外部"C"添加到wmain函数).
该-municode选项适用于MinGW-w64.在2012-07,当我尝试MinGW时,它没有-municode选项.
以下是如何安装MinGW-w64:
目标Win32:
Home>工具链目标Win32>个人构建> rubenvb> gcc-4.7-release:
在Windows上,您需要"i686-w64-mingw32-gcc-4.7.2- release - win32 _rubenvb.7z".
将文件夹解压缩到驱动器的根目录.
将"mingw32"文件夹重命名为"MinGW-32".
目标Win64:
Home>工具链目标Win64>个人构建> rubenvb> gcc-4.7-release:
在Windows上,您需要"x86_64-w64-mingw32-gcc-4.7.2- release - win32 _rubenvb.7z".
将文件夹解压缩到驱动器的根目录.
将"mingw64"文件夹重命名为"MinGW-64".
与Unicode相关的问题:
Bil*_*eal 16
使用plain(非unicode)WinMain函数,然后使用unicode命令行GetCommandLineW.MinGW不知道wWinMain.
你可能会发现在MinGW上工作很困难; 我用它它不支持大部分的最后一次wchar_t的C++标准库的组件(即std::wifstream,std::wstring等),这让使用Unicode的Windows接口位困难.
你有什么反对MSVC的吗?
| 归档时间: |
|
| 查看次数: |
12013 次 |
| 最近记录: |