是这样,你在新建VC++工程的时候,其中有一项是选择将MFC库作为共享的DLL还是静态的DLL。
因为MFC程序在运行时需要一些DLL文件的支持,你从集成开发环境下编译运行时,有默认的路径来调用这些所需的DLL,因此运行不会有问题。而当你单独运行文件夹下的可执行程序时,如果一开始选择的是作为共享的DLL,则就会因为可执行程序的当前路径下没有所需的DLL文件而无法运行。
解决方法:
一种是打包程序,生成程序的安装包,就像商业软件一样。
另一种就是采用作为静态的DLL方式,即将程序要用到的库集成到生成的exe程序中。这样程序会稍稍大一点点,相当于一个绿色软件。你可以点击工程菜单下设置菜单项,常规选项卡,选择作为静态的DLL,重建工程就可以了。
在调试状态和正常运行情况下表现结果不同,一般是因为时间差导致的。简单的说,就是你代码中涉及到异步、多线程的地方,可能存在等待的关系,因为调试的断点和速度等关系导致运行的逻辑和你预想的不太一样,导致出现问题。
以上就是关于vc++编译出来后自动产生了debug文件里面的exe文件为什么不能直接运行全部的内容,包括:vc++编译出来后自动产生了debug文件里面的exe文件为什么不能直接运行、c#在vs2010调试运行和在debug中运行exe文件 结果不一样(串口通信)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)