用mfc写了一个基于单文档的程序,在vc里面运行很好没有错误,可是为什么在Debug里打开.exe文件没反应

2024-10-30 20:33:38
推荐回答(5个)
回答(1):

在VC下运行,编译器会自动查找所需的库文件,不管是静态链接还是动态链接。
但是单独打包EXE文件,如果不选静态链接MFC库,编译器不会将你程序中所用到的MFC库打包到exe文件中,自然会出错了
记得打包EXE时选静态链接就OK
用了静态链接MFC库连接exe。在VC外面可以运行了。
但是我VC里直接按F5运行,居然在原来在外面exe出错的那一行发生了错误。

简单的说用了

使用

动态链接MFC VC外EXE:不正确 VC里运行:正确
静态链接MFC VC外EXE:正确 VC里运行:不正确

静态链接库(lib)与动态链接库(dll)的比较:
首先,静态链接库与动态链接库都是共享代码的方式,也可称为程序模块化的方式;
静态链接库:
lib中的指令都被直接包含在最终的EXE中,因此exe运行时不再需要lib文件;
不能再包含其他的动态链接库或者静态库;
动态链接库:
dll与EXE文件独立存在,所以发布EXE时需要同时发布dll文件;
可以再包含其他的动态链接库或者静态库;
建议:
请最好使用动态链接库(dll)进行程序的模块化,静态链接库(lib)过时了(应用程序升级上就能看出其劣势);

回答(2):

你看看是不是在OnTimer函数里面有OnClose()一类的函数

回答(3):

你在VC里运行是用debug还是release模式?看运行正常是在什么模式下。

回答(4):

可能是没有找到必要的dll文件

回答(5):

清理一下,重新编译看看,我遇到过