Visual Studio 2008 Express MFC 支持
Posted
技术标签:
【中文标题】Visual Studio 2008 Express MFC 支持【英文标题】:Visual Studio 2008 Express MFC Support 【发布时间】:2008-09-27 02:27:46 【问题描述】:可能很多人都知道,Visual Studio 2008 的 Express 版本不包括对 MFC 和编译大量 Windows 程序所需的一些其他包的支持。
所以,这是我的问题:
我有完整版的 Visual Studio 2005。我一直在用它来编译我的一个朋友正在做的一个项目,这样我就可以为他测试它并继续跟踪错误和事情。最近,他将该项目升级到 VS 2008,而我没有。所以,我下载了 express 版本,希望我可以简单地用它编译,但没有运气,它抱怨标题左右丢失。
在我看来,由于我已经拥有 VS 2005 的完整版本,因此我肯定至少有一些(可能是较旧的)相关文件版本,他的项目需要针对这些文件进行编译。
有没有一种方法可以说服 VS 2008 也在 2005 的目录中查找包含文件和库文件以进行编译?
此外,这是一个坏主意吗?我真的不想出去购买完整的VS 2008,因为我自己永远不会使用它。 (目前,2005 年对我来说做得很好,而且我更喜欢 GCC。)
谢谢
【问题讨论】:
【参考方案1】:您可以直接从命令行使用 VC++ 编译器,或者只是在 Visual Studio 2005 中使用源代码创建一个新项目。除非他使用的是 2008/2008sp1 新版本的 MFC/ATL 中提供的某些功能,你应该能够编译项目就好了。
请参阅 Visual Studio 2005 中的(“从现有源创建项目”)。很遗憾,它们没有在 Express Edition 中包含这些库。
【讨论】:
【参考方案2】:使用 Visual Studio 2005 中的 vcvars*.bat 脚本。请参阅 VC++ 博客中的 this 博文了解如何操作。您将使用旧的编译器,但使用 Visual Studio 2008 的构建系统。
【讨论】:
【参考方案3】:您可以进入工具>选项>项目和解决方案>VC++目录 并更改 Include、Library 和 Source(可能还有 Reference?)文件夹以使用 VC++ 2005 的文件夹。
我猜你只是将 $(VCInstallDir) 替换为硬编码的 VS 2005 路径。在执行此操作之前,我会记录原始值。
但是,您是否尝试过使用 OLD 2005 sln 和 vcproj 文件? 继续使用 2005 和 2008。为每个 IDE 保留两组这些文件。任何问题都将与库不匹配有关 - 将 2008 年的工具与 2005 年的库一起使用是无法避免的。
【讨论】:
【参考方案4】:解决此问题的简单方法是将解决方案和项目文件从源代码控制恢复到其 Visual Studio 2005 状态(您使用的是源代码控制对吗?)。此时,只要您的朋友不使用任何 mfc 9 独有的功能,您就可以编译项目。
【讨论】:
【参考方案5】:我要尝试的第一件事是通过修改 .sln 和 .vcproj 文件的版本在 VS 2005 中加载它。在 .vcproj 中将版本从 9.00 更改为 8.00,在 .sln 中将格式版本从 10.00 更改为 9.00。
如果您在项目中没有花哨的东西,那么您很有可能能够像这样使用它。这也将避免必须更新 2 个项目和解决方案文件。
【讨论】:
【参考方案6】:在这个网站上展示了如何使用 Visual Studio Express 版本编译 MFC 代码: link
【讨论】:
【参考方案7】:为了记录,我已经做到了(通过从 IDE 中修改包含目录和库目录)并且它工作得很好,我有 MFC、ATL 等等。
【讨论】:
【参考方案8】:我找到了这个解释。 http://www.codeproject.com/Articles/30439/How-to-compile-MFC-code-in-Visual-C-Express
【讨论】:
以上是关于Visual Studio 2008 Express MFC 支持的主要内容,如果未能解决你的问题,请参考以下文章
将 C++ 项目从 Visual Studio 2008 转换为 Visual Studio 2010
无法再使用 Visual Studio 2008 连接到 Visual Studio Team Services
Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具