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模式下可以正常运行,这是为啥啊,应该怎么解
在vc6中用opencv写了一个小游戏,debug下可以正常运行,但是release之后,不能运行。
VC/MFC动态库Debug版本下正常,Release版本下错误