這是一個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.即添加一個庫路徑.
- 重複添加其餘庫的路徑.
完成收功.