C++ Visual Studio 2008 Express MFC支持

C++ Visual Studio 2008 Express MFC支持,c++,visual-studio-2008,visual-studio-2005,mfc,C++,Visual Studio 2008,Visual Studio 2005,Mfc,许多人可能都知道,VisualStudio2008的快速版本不支持MFC和编译大量windows程序所需的其他一些包 所以,我的问题是: 我有VisualStudio2005的完整版本。我一直在用它来编译一个我的一个朋友正在做的项目,这样我就可以为他测试它,并继续跟踪bug和其他东西。最近,他把这个项目升级到VS2008,我没有。因此,我下载了express版本,希望我可以简单地使用它进行编译,但运气不好,它抱怨左右两侧缺少标题 在我看来,既然我已经有了VS2005的完整版本,我肯定至少会有一些

许多人可能都知道,VisualStudio2008的快速版本不支持MFC和编译大量windows程序所需的其他一些包

所以,我的问题是:

我有VisualStudio2005的完整版本。我一直在用它来编译一个我的一个朋友正在做的项目,这样我就可以为他测试它,并继续跟踪bug和其他东西。最近,他把这个项目升级到VS2008,我没有。因此,我下载了express版本,希望我可以简单地使用它进行编译,但运气不好,它抱怨左右两侧缺少标题

在我看来,既然我已经有了VS2005的完整版本,我肯定至少会有一些(可能是更旧的)文件版本,他的项目需要根据这些文件进行编译

我有没有办法说服VS2008在2005年的目录中查找要编译的包含文件和库文件

此外,这是一个坏主意吗?我真的不想出去购买VS2008 full,因为我自己永远不会使用它。(目前,2005年的工作对我来说还不错,我倾向于选择GCC。)


谢谢

您可以直接从命令行使用VC++编译器,也可以在VisualStudio2005中创建一个新的项目。除非他使用的是2008/2008sp1中新版本的MFC/ATL中提供的一些功能,否则您应该能够很好地编译该项目


请参见Visual Studio 2005中的(“从现有源创建项目”)。不幸的是,他们没有将这些库包含在Express Edition中。

使用Visual Studio 2005中的vcvars*.bat脚本。查看VC++博客中的blogpost,了解如何使用。您将使用旧的编译器,但使用Visual Studio 2008的生成系统。

您可以进入工具>选项>项目和解决方案>VC++目录 并将Include、Library和Source(可能还有Reference?)文件夹更改为使用VC++2005的文件夹

我猜您只是用硬编码的VS2005路径替换了$(vInstallDir)。在进行此操作之前,我会记录原始值


但是,您是否刚刚尝试过使用旧的2005 sln和vcproj文件?继续在您这边使用2005,在他的那边使用2008。为每个IDE保留两组这些文件。任何问题都将与库不匹配有关-使用2008年的工具和2005年的库都无法避免此问题。

处理此问题的简单方法是将解决方案和项目文件从源代码管理还原回其visual studio 2005状态(您使用的是源代码管理吗?)。此时,只要您的朋友不使用任何mfc 9 only函数,您就可以编译该项目。

我要尝试的第一件事是在VS2005中加载它,只需修改.sln和.vcproj文件的版本。在.vcproj中,将版本从9.00更改为8.00;在.sln中,将格式版本从10.00更改为9.00


如果你在项目中没有新奇的东西,你很有可能就这样使用它。另外,这将避免必须更新2个项目和解决方案文件。

只是为了记录,我已经这样做了(通过从IDE内部修改include目录和库目录),它工作得很好,我有MFC、ATL、,一切。

本网站展示了如何使用Visual Studio Express版本编译MFC代码:
我找到了这个解释