如题(“使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象”)。
今天使用ffmpeg进行宿放和颜色格式转换,很简单的代码,却折腾了我一天,这里说来就气啊,全是一顿的蛋疼,这里记下来,防止以后再蛋疼。呵呵
开始的时候,我以为是我的代码问题,然后我把我的代码很多地方都注释了,发现debug没问题,release还是不断跑飞,啥原因?
于是我从新建了一个测试工程,很简单,就调用一句话。
整个工程的代码如下:
// ffmpegtest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h" #include <stdio.h> extern "C"
{
#include "libswscale/swscale.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
}; #pragma comment(lib, "lib/avutil.lib")
#pragma comment(lib, "lib/swscale.lib") int main(int argc, _TCHAR* argv[])
{
AVPixelFormat src_pixfmt=AV_PIX_FMT_YUV420P; int src_bpp=av_get_bits_per_pixel(av_pix_fmt_desc_get(src_pixfmt)); system("pause");
return ;
}
然而就这样几句话的调用,却还是跑飞,于是我就对比了leixiaohua的工程,看看自己的工程设置跟他有啥不同。
对比以后发现,只有一个地方不一样:
将引用哪个地方,由“是”选成“否”,然后从新编译一下,OK了。
这你说蛋疼不蛋疼?
折腾了一下午,哎,说来惭愧。