在vs2017下,相同的代码在debug模式下编译运行正常,当在release下编译错误
debug模式下编译运行正常,当在release下编译错误
我们一般写代码的时候都喜欢在debug模式写,调试方便吧。如果对性能要求较高的应用,往往发现release模式下效率更高,所以我们会生成release的dll、lib供别人调用。有时候发现debug模式下能够正常编译和运行,但切换到release下发现连编译都报错。一般的解决原则是:
- 如果是debug模式下,程序中用到的所有lib、dll等文件最好都是debug模式下编译的,包括引用的第三方的库也最好是debug版本的。
- 同理如果是release模式下, 程序中用的lib、dll也最好是release版本的
- 统一的32/64位平台,32位的用到的库也是32位的,64位用到的库也要是64位的
- 程序中用到的.h/.cpp文件,不仅要在include中包含,还要添加到工程中,否则报错:没有相关函数的实现
- 项目属性配置分别对应着debug和release