4

I'm developing with an API and the API requires the afxsock.h among other afx... headers. After searching online, it seems that my VS Express isn't enough, so I looked to purchase the product at microsoft. Unfortunately it's 700$ and as a beginning programmer, it makes no sense for me to drop that on 1 project which I am using to teach myself c++. (I.e. I still don't know if I want to program long term in C++ or another language).

In any case, I was wondering if there was some sort of work around to get the afx (or more appropriately the MFC) files?

Note that I have Windows 8, Visual Studio 2012, and I've downloaded the Windows Development Kit for Windows 8, but still can't compile because I'm getting missing afx errors.

4

2 回答 2

9

AFX前缀代表应用程序框架 E x张力,它是MFC微软基金会C lasses )库原始名称。在将名称更改为 MFC 之前,文件名是一成不变的,现在更改它们为时已晚。

因此,您需要 MFC 才能使用这些标头。不幸的是,Visual Studio 的 Express 版本不包括 MFC(或ATL)。您只能使用标准版、专业版或更高版本的 Visual Studio 开发 MFC 应用程序。

如果您是学生,您有几个不错的选择:

  • 您可以加入Microsoft 的 DreamSpark 计划,该计划对学生免费,并让您获得一些很棒的免费下载,包括 VS 2012 Professional、VS 2010 Professional 和 Windows 的最新服务器版本。
  • 或者,您可以以非常低的成本加入 IEEE。作为 IEEE 学生会员,您可以下载许多 Microsoft 工具,包括 Visual Studio 的终极版。请参阅此页面了解更多信息。(虽然该页面提到 VS 2010,但 VS 2012 实际上是可用的。)

否则,您将不得不直接购买 Visual Studio Standard/Professional,或者加入MSDN

或者,您可以使用 winsock2 API,它是 Windows SDK 而不是 MFC 的一部分。开始使用此处的文档。当您下载“Windows 8 的 Windows 开发工具包”时,您将获得 Windows SDK。它包括链接到本机 Win32 库所需的一切,但不包括 MFC 框架。

于 2013-04-26T02:56:45.803 回答
2

除了其他人链接到的 IEEE“学生会员”选项之外,您可能还需要考虑 Microsoft 的BizSpark程序,它可以让您访问的不仅仅是 Visual Studio。我不知道你是否符合条件,但值得研究。


话虽如此,是时候进入肥皂盒并添加一些评论了:我理解 API 选择依赖于 MFC 的问题,但实际上,开发交易程序既不是特别容易,也不是你开始的好地方。此外,除非您想专门专注于成为 MFC 开发人员,否则从 MFC 开始可能不是一个好主意。如果您准备好使用 C++,那么您最好将精力集中在学习 C++11 上。或者至少学习它。一旦您对此感到满意,那么您就可以专注于使用许多可用框架中的任何一个来学习 GUI 编程。

只是我的 0.02 美元。

于 2013-04-26T03:41:50.093 回答