使用vs2005 express

就只是在windows平台上,也可能存在多个版本的项目,如vc6.0的,vs2005的,vs2008的。由于各种各样的原因,这些项目不能统一成一个版本的,这样麻烦的事情就多了。比如说某个项目用的是vc8的静态库,你就必须用vc8来继续开发了,用vc9虽然可以编译通过,但可能运行不起来,可能提示“由于应用程序配置不正确,未能启动该应用程序”。装了vs2008以后,不想再装一个vs2005。于是想装一个轻量版的visual c++ 2005 express版本,这样应该可以了吧。可是装了以后,还是发现问题一大堆。

首先,express版本没有装windows sdk,即使包含一个也会提示该头文件找不到。不过,装vs2008的时候不是自动装了windows sdk吗?把sdk的路径包含进去就可以了。sdks里面有两个目录,v5.0和v6.0A,不知道有什么区别。经过尝试以后,发现用v6.0A的才行,不然链接时会有IA64库与x86机器不兼容的错误。

把这个搞定以后,再来编译,会有如下错误。找不到afxres.h和winres.h,这也是express版本没有包含这些头文件的缘故,只要在vs2008下的目录搜索到这两个文件后,拷贝到vc++ 2005 express目录下的\vc\include下就可以了。

另外可能还有一些其它莫明其妙的错误,如[Linker error] undefined reference to 'GetOpenFileNameA@4'等,这是因为用到通用对话框,而链接时没有指定comdlg32.lib的原因。


转载于:https://my.oschina.net/tofro/blog/1503145

你可能感兴趣的:(操作系统,c/c++)