在MAC下开发C/C++程序

这几天想研究一下ffmepg的库,自己的开发环境是mac,在网上搜索了一下在mac上用什么IDE开发c/c++程序,推荐了很多如Eclipse,NetBeans。还有一些人说就用Xcode。由于自己懒得重新安装一个IDE,就直接用Xcode了(我也没有用过Xcode,想想以后说不定有机会用Xcode写个IOS app什么的呢)。总结一些用法。

程序是这篇博客的源代码《最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)》。

首先创创建工程。


在MAC下开发C/C++程序_第1张图片
Paste_Image.png

下一步可以选择使用什么语言,我这里选择了使用C语言

在MAC下开发C/C++程序_第2张图片
Paste_Image.png

然后然后工程创建完毕,粘贴进代码,IDE中就会出现下面的错误。

在MAC下开发C/C++程序_第3张图片
Paste_Image.png

关于C语言的编译

可以用下面的命令来编译这个工程:

gcc main.c -g -o simplest_ffmpeg_player.out -I /usr/local/include -L /usr/local/lib -lSDL2main -lSDL2 -lavformat -lavcodec -lavutil -lswscale

那么在IDE里该如何配置呢? 让C语言写的代码能够编译成功无非就两个条件:

  • 头文件
  • 库文件

上面在的错误属于头文件范畴,就是Xcode无法找到这个文件,首先你要安装ffmpeg然后告诉Xcode这个头文件所在的目录就OK了。

在MAC下开发C/C++程序_第4张图片
Paste_Image.png

如图,在项目设置面板中的编译设置里面搜索【search path】在下面的【Header Search Path】中填写所在的路径就可以了。这时候在回去看源代码,之前的那个报错没有了。点击运行,仍然不能编译运行成功。因为只有头文件是不行的,真正在程序里调用的函数逻辑是被写在库文件里的。这个时候需要给项目加入一些库文件,其实就是告诉IDE编译的时候需要连那些库来生成可执行文件。

那么我们还是在项目设置里加入库文件,这里用的是.dylib库文件,而不是传统的.a文件,没花时间研究,大概是Xcode就认.dylib文件吧。


在MAC下开发C/C++程序_第5张图片
Paste_Image.png

然后还有一个小问题,就是Xcode的编译生成的可执行文件默认在一个临时文件夹,并没有在项目的工程目录下,所以要在进行一个简单的配置,如下图


在MAC下开发C/C++程序_第6张图片
Paste_Image.png

在MAC下开发C/C++程序_第7张图片
image.png

好了点击运行,成功打开播放器窗口。

在MAC下开发C/C++程序_第8张图片
Paste_Image.png

总结

万变不离其中,在编译C程序最关键的就是导入正确的头文件和链接库文件以生成可执行文件。所有IDE都是用一些自动的可视化的方式来做这两个事情。

你可能感兴趣的:(在MAC下开发C/C++程序)