`
mmdev
  • 浏览: 12924018 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

使用eclipse编译和管理live555源码

 
阅读更多

这是一个eclipse使用入门教程.


live555使用makefile管理项目,当需要自己添加源码文件时,很麻烦,需要自己修改各文件间的依赖关系.其实我们可以很容易地将live555移植成eclipse自己的c++工程.这样可以让eclipse自动管理文件之间的关系.

编译环境是在windows下的Mingw.安装mingw同时会安装MSYS,MSYS是一个命令行程序.要用mingw编译程序,需在MSYS命令行中执行类似:./configure,make之类的命令.

官网:http://www.mingw.org/

安装程序下载地址:http://sourceforge.net/projects/mingw/files/latest/download?source=files

http://sourceforge.net/projects/mingw/files/latest/download?source=files下载安装程序: mingw-get-inst-20111118.exe

运行后会自动从网上下载并安装所需文件.

安装完成后(一般装在C盘),会在桌面上找到msys.bat之类的文件,就是MSys命令行了,运行之即可.

比如你有一个makefile项目在d:/aaa/ 下,一般需执行如下命令编译:

cd /d/aaa

./configure

make

下面详细讲解eclipse的使用.

首先移植live555中mediaServer工程

  • 打开eclipse
  • 菜单File->New->c++ project
  • 弹出c++ project对话框
  • 在project name中填入:mediaServer
  • 在project type树控件中选择excutable->Emptyproject,在Toolchains中选择MinGW GCC
  • 在Location中可以选择工程所在的路径,比如d:/workspace 
  • 按下finish按钮

此时就会自动创建出工程,例如位于d:/workspace/mediaServer下,把live555/mediaServer目录下的全部源码文件(*.c,*.cpp,*.h,*.hh)复制到d:/workspace/mediaServer下,然后在eclipse中,左边的ProjectExplorer中项目mediaServer上弹出右键菜单,选择Refresh菜单项,就会把我们copy来的文件自动加入项目中.

现在可以编译了.选择菜单Project->Build All,就会开始编译,但不能成功.因为我们还依赖好几个库.


下面再建立那些库的工程,全部为静态库.建立过程与mediaServer类似,但是在projecttype中选择staticlibrary->Empty Project.Toolchains还是MinGW GCC.

分别建立BasicUsageEnvironment,UsageEnvironment,Groupsock,liveMedia四个静态库工程,都位于d:/workspace/mediaServer下,把live555中的对应目录下的文件复制到各种工程目录下,刷新.这样工程就全部建立完毕.

但是,现在编译任何一个库也都是不能通过的,因为它们是互想使用彼此的头文件的.所以在每个项目的设置中需要设置include路径.比如groupsock库使用了UsageEnvironment的头文件,就需要将UsageEnvironment的路径设置给groupsock.设置过程如下:

  • 在Project Exporer中选择groupsock项目
  • 弹出右键菜单
  • 选择Properties项
  • 弹出工程设置对话框
  • 左边树控件中选择c/c++ Build->Settings
  • 在Tool Settings 页中选择GCC C++Comiler->Includes
  • 出现Include path (-I)界面,靠右有带小+号的图标按钮,击之
  • 出现Add dictionary path对话框
  • 选择workspace
  • 出现Folder selection对话框
  • 选择UsageEnvironment->include (UsageEnvironment把头文件另放在include目录下了).
  • 点OK.

现在编译groupsock就能通过了.

其余各库之间的头文件引用问题都以上述方式解决即可.

然而,编译mediaServer时还是通不过,因为找不到要链接的库.

下面就来解决这个问题:

  • 在Project Explorer中选择mediaServer项目,弹出右键菜单
  • 选择Properties菜单项
  • 弹出Properties for mediaServer对话框.
  • 在左边树控件中选择c/c++ build->settings
  • 在右边选择Tool Settings页
  • 在树控件中选择Mingw C++ Linker->Libraries
  • 在右边Libraries (-l)行选择带+号的按钮
  • 在弹出的对话框中输入groupsock
  • 重复上面的动作,把mediaServer依赖的静态库都添加进去.
  • 在右下边的Libraries Search Path (-L)行也选择+号按钮.
  • 弹出Add Directory path对话框.
  • 在其中点击workspace按钮
  • 在弹出的对话框中选择groupSock->Debug
  • 点OK,对话框关闭,进入Add Directorypath对话框
  • 点OK.即添加一个库路径.
  • 重复添加其余库的路径.

完成收功.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics