将Qt 5.6 集成至 VS2015,并添加ffmpeg和SDL2的库

5 篇文章 0 订阅
2 篇文章 0 订阅

一、将Qt 5.6 集成至 VS2015vs2015+ffmpeg开发环境配置

参考:将 Qt 5.6 集成至 VS2015

安装完成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和SDL2的库,要对应好自己的系统版本。ffmpeg的库无论是在msvc还是mingw编译器都可以使用,SDL2一般下载的都是mingw的库,msvc的需要自己下载SDL2源码用VS编译。这里提供下载链接:

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... ";
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值