转载

使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象

如题(“使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象”)。

今天使用ffmpeg进行宿放和颜色格式转换,很简单的代码,却折腾了我一天,这里说来就气啊,全是一顿的蛋疼,这里记下来,防止以后再蛋疼。呵呵

开始的时候,我以为是我的代码问题,然后我把我的代码很多地方都注释了,发现debug没问题,release还是不断跑飞,啥原因?

于是我从新建了一个测试工程,很简单,就调用一句话。

整个工程的代码如下:

使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象
 1 // ffmpegtest.cpp : 定义控制台应用程序的入口点。  2 //  3   4 #include "stdafx.h"  5   6 #include <stdio.h>  7   8   9 extern "C" 10 { 11 #include "libswscale/swscale.h" 12 #include "libavutil/opt.h" 13 #include "libavutil/imgutils.h" 14 }; 15  16  17  #pragma comment(lib, "lib/avutil.lib") 18  #pragma comment(lib, "lib/swscale.lib") 19  20  21  22 int main(int argc, _TCHAR* argv[]) 23 { 24     AVPixelFormat src_pixfmt=AV_PIX_FMT_YUV420P; 25  26     int src_bpp=av_get_bits_per_pixel(av_pix_fmt_desc_get(src_pixfmt)); 27  28  29     system("pause"); 30     return 0; 31 }
View Code

然而就这样几句话的调用,却还是跑飞,于是我就对比了leixiaohua的工程,看看自己的工程设置跟他有啥不同。

对比以后发现,只有一个地方不一样:

使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象

将引用哪个地方,由“是”选成“否”,然后从新编译一下,OK了。

这你说蛋疼不蛋疼?

折腾了一下午,哎,说来惭愧。

使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象

正文到此结束
Loading...