使用免费的 Visual C++ 2005 Express Edition 开发 Win32 应用程序
介绍如何设置 Visual C++ 2005 Express 来构建 Win32 应用程序。
引言
Microsoft 发布了 Visual C++ 2005 Express Edition,可以免费下载和使用,甚至可以用于开发商业应用程序。但是,如果您想开发经典的 32 位原生 Windows 应用程序(即非 .NET),例如使用 wxWidgets 框架的应用程序,您需要进行一些配置更改。
本文中的信息并非全新,大部分可以通过 Google 搜索或点击 此链接找到。很多信息也可以在 Microsoft 论坛上找到,但我决定创建这篇文章,原因如下:
- 为方便参考而存储这些信息,以确保其可访问性。
- 将所有信息集中在一处,节省大家的时间(我不得不搜索零散的信息)。
- 提供一个可以添加有用信息的场所(Microsoft 论坛似乎已不再运行,我无法在上面添加注释,而且一些人也在这个问题上遇到困难。)
- 鼓励开发者发布他们的努力成果,并帮助他们找到一些优秀的免费工具来入门。
你需要的东西
Visual C++ 2005 Express
访问 Microsoft 网站并下载“Visual C++ 2005 Express”。您很可能需要下载名为 VC.iso (473,720 KB) 的文件。将其刻录到 CD 或使用 VCdControlTool 或 DiskPrivate 等免费工具访问其内容。使用默认位置进行安装。
Platform SDK
从 Microsoft 网站下载 Platform SDK。我下载了 PSDK_x86.exe (1.26 MB)。搜索 Platform SDK,将找到“Microsoft ® Windows Server® 2003 R2 Platform SDK Web Install”(见此处链接)。如果您向下滚动,您会看到 PSDK_x86.exe。这是您唯一需要的部分。
使用默认推荐设置安装 Platform SDK。我没有运行批处理文件将其注册到 Visual C++(它会将其添加到开始菜单,但运行它似乎没有什么作用,所以我通过开始菜单中的选项将其注销了)。
如何让 Visual Studio 与 Platform SDK 配合使用
这大部分基于官方说明,可以在 此处找到。
包含目录
如果不解决此问题,您会遇到无法包含 windows.h 等错误。启动 Visual Studio,在“选项”对话框的“项目和解决方案”部分菜单下,将路径添加到相应的子目录:
- 可执行文件:C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
- 包含文件:C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
- 库文件:C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
请务必检查 Visual Studio 是否记住了这些路径!关闭视图,然后重新进入,确保它记住了它们!另外,请使用 Windows 资源管理器验证这些目录,因为 SDK 可能安装到不同的目录。目录实际上可能是:
- 可执行文件:C:\Program Files\Microsoft Platform SDK\Bin
- 包含文件:C:\Program Files\Microsoft Platform SDK\Include
- 库文件:C:\Program Files\Microsoft Platform SDK\Lib
这是许多人的主要障碍。在添加目录之前请务必验证!
默认链接库
如果不解决此问题,您将收到关于 Windows API 函数的未解析外部链接错误。关闭 Visual Studio,然后编辑 C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\corewin_express.vsprops 并更改:
AdditionalDependencies="kernel32.lib"
to
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
启用 Win32 应用程序
编辑文件 C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\AppSettings.htm。使用记事本或任何纯文本编辑器,在以下行(以及其他任何您想要修改的 disabled = true
行)前面加上 // (作为注释)。
WIN_APP.disabled = true;
WIN_APP_LABEL.disabled = true;
DLL_APP.disabled = true;
DLL_APP_LABEL.disabled = true;
但是...
这样就完成了!但是...
您无法获得什么
MFC 呢?
不包含。对于新的开发工作,您可以使用 wxWidgets 作为替代品。如果您想要 MFC,可能需要付费。
ATL / WTL 呢?
不包含。但是,正如在另一个 CodeProject 文章 Using WTL with Visual C++ 2005 Express Edition 中所述,您似乎可以获得 ATL / WTL。
免费资源编辑器呢?
Studio Express 不允许您编辑资源文件。根据上述文章,您可以尝试:
- 这里是 免费资源编辑器列表(看起来 Watcom C++ 编译器有一个独立的资源编辑器应用程序)。
- WEditRes
- 或者(对于一个看起来也允许您编辑资源的 IDE):RadASM© Win32 汇编 IDE,支持 masm/tasm/fasm/nasm/goasm/hla
- wxWidgets 也有某种使用 XML 定义资源的系统,并且有免费的 RAD 应用程序,但我还没有深入研究。
安装程序呢?
如果您希望为您的应用程序创建安装/卸载程序,我建议您尝试免费的 Inno 编译器。即使是商业应用程序也免费且易于使用。
其他与 Visual Studio 集成的编译器呢?
Visual Studio Express 不允许您安装其他与 Visual Studio Express 直接集成的编译器,如 Intel Fortran。但是,其中一些提供了自己的 IDE。
最后评论
如果您知道其他真正免费的软件可能在这方面很有用,请发表评论。
历史
- 2006 年 9 月 23 日:首次发布