Visual Studio 2008 Express MFC支持

4
许多人可能已经知道,Visual Studio 2008的Express版本不包括支持MFC和其他一些编译许多Windows程序所需的软件包。因此,这是我的问题:
我有完整版的Visual Studio 2005。我一直在使用它来编译一个朋友正在开发的项目,以便我可以为他测试并继续跟踪错误和其他问题。最近,他将该项目升级到了我没有的VS 2008。因此,我下载了Express版本,希望能够简单地用它来编译,但没有成功,它抱怨缺少左右头文件。
在我看来,既然我已经拥有VS 2005的完整版,那么我肯定有至少一些(也许是较旧的)需要针对他的项目进行编译的相关文件版本。
有没有办法说服VS 2008也查找2005的目录以寻找包含文件和库文件进行编译?
此外,这是个坏主意吗?我真的不想去购买VS 2008完整版,因为我自己永远不会用它。(2005目前对我来说做得很好,而且我更喜欢GCC。)
谢谢
8个回答

1

本网站展示了如何使用Visual Studio Express版本编译MFC代码: link


1

您可以直接从命令行使用VC++编译器,或者在Visual Studio 2005中创建一个带源代码的新项目。除非他在使用2008/2008sp1新版本的MFC/ATL提供的某些功能,否则您应该能够成功编译该项目。

请参阅Visual Studio 2005中的("从现有源代码创建项目")。很遗憾,他们没有将这些库与Express版本一起发布。


1

使用来自Visual Studio 2005的vcvars*.bat脚本。请参阅VC++博客上的this博文以了解详细信息。您将使用旧编译器,但使用Visual Studio 2008的构建系统。


1

您可以进入“工具”>“选项”>“项目和解决方案”>“VC++目录”,并更改包含、库和源(以及可能的引用)文件夹,以使用VC++ 2005的文件夹。

我猜您只需将$(VCInstallDir)替换为硬编码的VS 2005路径即可。在执行此操作之前,请记录原始值。

但是,您是否尝试过使用旧的2005 sln和vcproj文件? 在您的端上继续使用2005,在他的端上使用2008。为每个IDE保留两组这些文件。任何问题都将与库不匹配有关-使用2008的工具与2005的库并不能避免这种情况。


1

处理这个问题的简单方法是从源代码控制(你正在使用源代码控制吧?)中将解决方案和项目文件还原回Visual Studio 2005状态。此时,只要你的朋友不使用任何仅限于MFC 9的函数,你就可以编译该项目。


1

我会尝试的第一件事是通过修改.sln和.vcproj文件的版本,将其加载到VS 2005中。在.vcproj中,将版本从9.00更改为8.00,在.sln中将格式版本从10.00更改为9.00。

如果项目中没有花哨的东西,您很有可能可以像这样使用它。此外,这将避免更新2个项目和解决方案文件。



0
只是为了记录一下,我已经通过在IDE内部修改包含目录和库目录来实现了这一点,并且它运行得非常好,我有MFC、ATL和所有东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接