關於在Linux下如何編譯FreeRDP,在github的wiki上面已經說的很明白了,而且相當簡單,具體細節參考網址:FreeRDP構建說明。大抵就是make,make install之類的,並且之前需要安裝幾個依賴庫的。
今天在Windows下嘗試使用VS2008編譯,遇到了幾個問題,遂記錄下來,希望可以幫助到后來人~如下便是細節:
一、工具准備
- Virtual Studio 2008,這個是必須要保證有的
- cmake 2.8.8,現在開源項目大多轉向使用cmake來管理項目了,下載網址:http://www.cmake.org/cmake/resources/software.html
- OpenSSL:RDP中的協議加密需要用到openssl,下載網址:http://slproweb.com/products/Win32OpenSSL.html
- 你可能還需要安裝Visual C++ 2008 Redistributables。奇怪的是我本來已經安裝了,然后安裝OpenSSL的時候還是提示沒有安裝Visual C++ 2008 Redistributables。不過忽略以后,編譯是沒問題的。
二、編譯步驟
1. 設置環境變量:
在系統變量PATH中添加(注意使用分號分割):
C:/Program Files/Microsoft Visual Studio 9.0/VC/bin/; C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE
前者解決cl.exe找不到的問題(cl.exe就是Windows的C和C++編譯器),后者解決mspdb80.dll等找不到的問題(不明白它們為什么沒有被添加到系統目錄下)。
2. 安裝openssl
這個安裝簡單,基本一路next下來就好了。
3. 打開cmake,設置代碼路徑和生成文件的路徑
如圖:
4. 點擊configure,彈出如圖2所示的對話框,按照圖中選擇,然后Finish,正常應該是不會出錯了。
5. 然后generate出VS2008的項目文件,這時候打開FreeRDP的項目目錄,可以看到下面多了幾個vs的配置文件,其中有個FreeRDP.sln,打開。
6. 但是VS2008編譯缺少一個名為“stdint.h”的頭文件,這個是c99標准的文件,可以自己下載一個放在C:/Program Files/Microsoft Visual Studio 9.0/VC/include目錄下,下載地址:http://msinttypes.googlecode.com/svn/trunk/stdint.h
7. 這時候就可以放心地生成解決方案,等待不長時間,就OK了~
三、其他
不過,目前生成的Windows版wfreerp.exe存在bug,顏色顯示不正確,其他具體的功能還沒有進行測試。