一、将Qt 5.6 集成至 VS2015vs2015+ffmpeg开发环境配置
安装完成VS2015后,进行Qt5.6的安装 http://download.qt.io/official_releases/qt/5.6/5.6.0/
我的是5.6.0,64位系统,所以我选择qt-opensource-windows-x86-msvc2015_64-5.6.0.exe,之后设置电脑的环境变量(看上方的链接)。VS2015没有VS addin了,所以我们先用VS的一个叫做Qt5Package的插件代替addin,地址:https://visualstudiogallery.msdn.microsoft.com/c89ff880-8509-47a4-a262-e4fa07168408,具体操作看上方链接。接下来就是创建一个测试的qt程序,进行Qt库的添加,具体也是看上方链接。能正常运行。
二、添加ffmpeg和SDL2的库
ffmpeg 32位+64位 库下载:ffmpeg 32位 64位 库
SDL2 32位+64位 msvc库下载:SDL2 32位 64位 库
添加步骤:(以ffmpeg为例)
1、将ffmpeg的库.lib .dll 等都放到项目里,可以创建一个文件夹专门放。
2、将.dll 的库和main.cpp放在同一个目录。
3、在VS中进行库和头文件的添加。
头文件路径:在工程属性》C/C++》常规》附加包含目录
库路径:在工程属性》链接器》常规》附加库目录
4、在用到ffmpeg的头文件添加
extern "C" { #include "ffmpeg/include/libavcodec/avcodec.h" #include "ffmpeg/include/libavformat/avformat.h" #include "ffmpeg/include/libavutil/channel_layout.h" #include "ffmpeg/include/libavutil/common.h" #include "ffmpeg/include/libavutil/imgutils.h" #include "ffmpeg/include/libswscale/swscale.h" #include "ffmpeg/include/libavutil/imgutils.h" #include "ffmpeg/include/libavutil/opt.h" #include "ffmpeg/include/libavutil/mathematics.h" #include "ffmpeg/include/libavutil/samplefmt.h" }; #pragma comment(lib, "avcodec.lib") #pragma comment(lib, "avformat.lib") #pragma comment(lib, "avdevice.lib") #pragma comment(lib, "avfilter.lib") #pragma comment(lib, "avutil.lib") #pragma comment(lib, "postproc.lib") #pragma comment(lib, "swresample.lib") #pragma comment(lib, "swscale.lib")
extern "C" 是让c++文件 中用C 来编译这些文件,因为ffmpeg就是用C写的。
#pragma comment 这个就是添加库的链接。
5、测试,在初始化中添加代码,若能正常运行则成功。
{ av_register_all(); qDebug() << avcodec_configuration(); unsigned version = avcodec_version(); QString ch = QString::number(version, 10); qDebug() << "version:" << ch; }
SDL2 的重复ffmpeg的步骤,操作基本相同,注意4、5步骤:
extern "C" { #include "SDL/include/SDL.h" } #pragma comment(lib, "SDL2.lib") #pragma comment(lib, "SDL2main.lib")
测试程序:
} if (SDL_Init(SDL_INIT_VIDEO)) { qDebug() << "SDL_Init error... " ; } else qDebug() << "SDL_Init ok... "; }