初学者|VS添加第三方C/C++库经验

近日准备学习ffmpeg,自然是准备研究下雷神的100行SDL播放器代码,在进行ffmpeg的VS配置移植时碰到了一些小麻烦,一一道来。由于引入ffmpeg情况比较特殊,除了正常步骤还有别的步骤,详情请参考http://blog.sina.com.cn/s/blog_6bcde18101011v2h.html 。笔者以SDL的引入作为例子
第三方库一般分为三个部分,头文件,静态链接库与动态链接库,即.h文件,.lib文件和.dll文件,ffmpeg也不例外,首先处理include和lib
初学者|VS添加第三方C/C++库经验
文章图片

SDL的头文件处于include文件夹中,
初学者|VS添加第三方C/C++库经验
文章图片

静态和动态链接库均位于lib文件夹
初学者|VS添加第三方C/C++库经验
文章图片

首先将include文件夹拷贝进你的VS项目,并且在VS项目新建一个叫lib的文件夹,将后缀为.lib的文件拷贝进lib文件夹
初学者|VS添加第三方C/C++库经验
文章图片

接下来就是进行VS的项目配置了
首先,右键项目,属性->配置属性->C/C++->常规,在常规中找到附加包含目录,写上include,即你项目下的include文件夹,你可以选择你喜欢的名字
同样,在属性->配置属性->链接器->常规,在常规中找到附加库目录,写上lib,即你项目下的lib文件夹
接着,在属性->配置属性->链接器->输入,在输入中找到附加依赖项,加上那几个lib文件的名字


初学者|VS添加第三方C/C++库经验
文章图片
初学者|VS添加第三方C/C++库经验
文章图片
初学者|VS添加第三方C/C++库经验
文章图片

接着将.dll文件放入项目目录和Debug已经Release目录就行了
配置搞定了
【初学者|VS添加第三方C/C++库经验】测试一下SDL

#include "SDL.h" #include int 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"); }


生成时报错未识别标识符号_main,这个是SDL的老问题,因为SDL的入口点其实在SDL_main
所以在属性->配置属性->链接器->高级的选项中找到入口点,设为SDL_main
同时在属性->配置属性->链接器->系统的选项中找到子系统选项,设为 控制台 (/SUBSYSTEM:CONSOLE)
运行成功,配置完成
初学者|VS添加第三方C/C++库经验
文章图片

C/C++引入第三方库真是蛋疼

    推荐阅读