本文共 996 字,大约阅读时间需要 3 分钟。
近日准备学习ffmpeg,自然是准备研究下雷神的100行SDL播放器代码,在进行ffmpeg的VS配置移植时碰到了一些小麻烦,一一道来。由于引入ffmpeg情况比较特殊,除了正常步骤还有别的步骤,详情请参考 http://blog.sina.com.cn/s/blog_6bcde18101011v2h.html 。笔者以SDL的引入作为例子
第三方库一般分为三个部分,头文件,静态链接库与动态链接库,即.h文件,.lib文件和.dll文件,ffmpeg也不例外,首先处理include和lib
SDL的头文件处于include文件夹中,
静态和动态链接库均位于lib文件夹
首先将include文件夹拷贝进你的VS项目,并且在VS项目新建一个叫lib的文件夹,将后缀为.lib的文件拷贝进lib文件夹
接下来就是进行VS的项目配置了
首先,右键项目,属性->配置属性->C/C++->常规,在常规中找到附加包含目录,写上include,即你项目下的include文件夹,你可以选择你喜欢的名字
同样,在属性->配置属性->链接器->常规,在常规中找到附加库目录,写上lib,即你项目下的lib文件夹
接着,在属性->配置属性->链接器->输入,在输入中找到附加依赖项,加上那几个lib文件的名字
接着将.dll文件放入项目目录和Debug已经Release目录就行了
配置搞定了
测试一下SDL
#include "SDL.h"#include生成时报错未识别标识符号_main,这个是SDL的老问题,因为SDL的入口点其实在SDL_mainint main(int argc, char* argv[]){ if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) { exit(-1); } printf("Init successful!!\n"); SDL_Quit(); printf("SDL quit!!\n"); system("pause");}
所以在属性->配置属性->链接器->高级的选项中找到入口点,设为SDL_main
同时在属性->配置属性->链接器->系统的选项中找到子系统选项,设为 控制台 (/SUBSYSTEM:CONSOLE)
运行成功,配置完成
C/C++引入第三方库真是蛋疼