Debug下正常运行,但调成Release时遇到三个问题及其完美解决!

Posted allinallinallin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debug下正常运行,但调成Release时遇到三个问题及其完美解决!相关的知识,希望对你有一定的参考价值。

-------------------------------------------------------------------------------------------------------------------------------------------

最近开发了一个MFC程序并需要生成Release模式,程序中用到了mysql数据库。之前开发的时候一直用的是Debug模式,在改成Release模式后出现三个错误,并进行解决。

-------------------------------------------------------------------------------------------------------------------------------------------


本以为debug改成Release版本只需要将“启动调试”绿色三角箭头右边的“解决方案配置”改成Release即可,谁知出现了问题!



错误一

首先 出现的错误主要是:error C1083: 无法打开包括文件:“StdAfx.h”: No such file or directory  



错误一解决方案:

在项目属性中展开【C/C++】,选择【常规】,在附加包含目录里加入“$(ProjectDir)”   如下图所示:




错误二

问题一解决后重新编译了一下还是有错:



错误二解决方案:

由于项目中用到了MySQl数据库,之前在Debug版本模式下遇到过类似的问题:http://blog.csdn.net/to_baidu/article/details/58711588 

问题主要原因在于Release模式下,有关mysql的静态库没有设置,因此在Release设置添加相应的libmysql.lib、libmysql.dll库即可。

设置步骤如下:

step1:将工程文件Debug目录下的libmysql.dll拷贝到Release文件夹(因为我之前自己从网上下载拷贝到Debug文件夹中,若读者没有libmysql.dll文件可从下面的连接中下载:http://download.csdn.net/detail/to_baidu/9770882



step2:在项目工程的【属性】——【连接器】——【输入】——【附加依赖项】中添加:libmysql.lib  前提是项目的库目录中有libmysql.lib(此处就不再赘述了,这涉及到C/C++连接MySQL数据库,相关链接如下:http://blog.csdn.net/to_baidu/article/details/58709499



错误三

主要问题:无法找到入口

如下图所示:



问题三解决方案:

将Release下属性 链接器--优化--【引用】 由“是 (/OPT:REF)”改为“否 (/OPT:NOREF)



大功告成!之前在Debug版本下经常出现的登录界面总算完美出现了,程序也可以正常使用。





以上是关于Debug下正常运行,但调成Release时遇到三个问题及其完美解决!的主要内容,如果未能解决你的问题,请参考以下文章

Mfc中release下提示未定义入口点,在debug模式下可以正常运行,这是为啥啊,应该怎么解

mfc 程序,debug版本正常和release版本异常。

在vc6中用opencv写了一个小游戏,debug下可以正常运行,但是release之后,不能运行。

VC/MFC动态库Debug版本下正常,Release版本下错误

MFC读取excel文件程序,在release模式下正常读取,但在debug模式编译没问题,运行就关闭,求高手!

CImg 在 Debug 模式下抛出异常,在 Release 中工作正常