关于在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,颜色显示不正确,其他具体的功能还没有进行测试。