这是一个eclipse使用入门教程.
live555使用makefile管理项目,当需要自己添加源码文件时,很麻烦,需要自己修改各文件间的依赖关系.其实我们可以很容易地将live555移植成eclipse自己的c++工程.这样可以让eclipse自动管理文件之间的关系.
编译环境是在windows下的Mingw.安装mingw同时会安装MSYS,MSYS是一个命令行程序.要用mingw编译程序,需在MSYS命令行中执行类似:./configure,make之类的命令.
安装程序下载地址: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.即添加一个库路径.
- 重复添加其余库的路径.
完成收功.