主要是MFC库链接方式的问题,使用MFC分动态连接和静态连接两种:
静态连接就是把需要的MFC库函数放进你的exe之中,这样,在MFC库函数文件不在的情况下,你的exe仍然可以使用到这个库函数。
动态连接就与之相反,库函数不在exe之中,这样在运行时,就必须加载相应的MFC dll,否则无法正常运行。
所以,如果运行环境没有对应的库文件存在(比如没有安装vc),为了仍然能够运行,就要同时Copy相应的MFC DLL,或者采用静态链接的方式:
-
VC6.0中这样选择:Project菜单中选择Settings,在弹出的对话框中的General页面,Microsoft Foundation Classes处选择Use MFC in a Static Library;
-
VS2005中这样:“项目”菜单中选择“属性”,在弹出的属性对话框中,左侧选择“通用配置”,然后在右侧的“MFC的使用”中选择“在静态库中使用MFC”