如题(“使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象”)。
今天使用ffmpeg进行宿放和颜色格式转换,很简单的代码,却折腾了我一天,这里说来就气啊,全是一顿的蛋疼,这里记下来,防止以后再蛋疼。呵呵
开始的时候,我以为是我的代码问题,然后我把我的代码很多地方都注释了,发现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 }
然而就这样几句话的调用,却还是跑飞,于是我就对比了leixiaohua的工程,看看自己的工程设置跟他有啥不同。
对比以后发现,只有一个地方不一样:
将引用哪个地方,由“是”选成“否”,然后从新编译一下,OK了。
这你说蛋疼不蛋疼?
折腾了一下午,哎,说来惭愧。