900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Linux 环境下编译 freeRDP

Linux 环境下编译 freeRDP

时间:2023-03-24 08:11:47

相关推荐

Linux 环境下编译 freeRDP

RDP:远程桌面协议(Remote Desktop Protocol),是一个多通道的协议,可以让客户端或称 “本地电脑” 连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)

一、准备:

1.环境:VMware 虚拟机,Ubuntu 64位镜像

关于下载 VMware 虚拟机和在 VMware 虚拟机中安装 Ubuntu,可查看 「Linux 环境下使用 OpenCV 显示图片」中下载虚拟机、下载镜像文件、安装虚拟机这三块内容

2.打开虚拟机,切换目录到某个目录(可以指定自己的目录,这里使用 usr 下的 local),下载的软件都放在这个目录下

3.切换到 root 用户(省得下面执行命令时各种提示没权限)

sudo su// 提示输入密码,然后回车

二、安装 cmake

1.创建目录 cmake(用于存放稍后下载的 cmake)

mkdir cmake

2.进入目录 cmake

cd cmake

3.下载 cmake

wget /files/v3.3/cmake-3.3.2.tar.gz

4.解压

tar -zxvf cmake-3.3.2.tar.gz

5.进入解压目录

cd cmake-3.3.2

6.安装 g++

apt install g++

7.依次执行

./configure./bootstrapmakemake install

三、安装 Android SDK

1.切换到目录 /usr/local

cd /usr/local

2.创建目录 sdk(用于存放稍后下载的 sdk),然后进入目录 sdk

mkdir sdk && cd sdk

3.下载

wget /android/android-sdk_r24.4.1-linux.tgz

4.解压

tar -zxvf android-sdk_r24.4.1-linux.tgz

5.配置临时环境变量

// 除了使用 vim 或 vi 命令,Ubuntu 中可以使用 gedit 命令进行编辑gedit /etc/profile

在打开的文件的末尾,增加如下内容

export ANDROID_SDK=/usr/local/sdk/android-sdk-linuxexport PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$PATH

6.使环境变量配置生效

source /etc/profile

四、安装 Android NDK

1.切换到目录 /usr/local

cd /usr/local

2.创建目录 ndk(用于存放稍后下载的 ndk),进入目录 ndk

mkdir ndk && cd ndk

3.下载

wget /android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2

4.解压

tar -jxvf android-ndk-r9d-linux-x86_64.tar.bz2

5.配置环境变量

gedit /etc/profile

在打开的文件的末尾,增加如下内容

export ANDROID_NDK=/usr/local/ndk/android-ndk-r9dexport PATH=$PATH:$ANDROID_NDK

6.使环境变量配置生效

source /etc/profile

五、下载 Android-external-openssl-ndk-static

1.切换到目录 /usr/local

cd /usr/local

2.创建目录 openssl-ndk(用于存放稍后下载的 android-external-openssl-ndk-static),进入目录 openssl-ndk

mkdir openssl-ndk && cd openssl-ndk

3.安装 git

apt install git

4.下载 Android-external-openssl-ndk-static

git clone /bmiklautz/android-external-openssl-ndk-static.git

5.进入 android-external-openssl-ndk-static 目录

cd android-external-openssl-ndk-static

6.编译

ndk-build

命令执行完成后,如果在当前目录下生成 libs 文件夹,说明编译完成

六、编译 freeRDP

1.切换到目录 /usr/local

cd /usr/local

2.创建目录 ndk(用于存放稍后下载的 FreeRDP),进入目录 freeRDP

mkdir freeRDP && cd freeRDP

3.下载 FreeRDP 的 stable-1.1 版本

git clone -b stable-1.1 /FreeRDP/FreeRDP.git

4.进入 FreeRDP 根目录

cd FreeRDP

5.使用 cmake 生成 makefile 脚本文件

cmake -DCMAKE_TOOLCHAIN_FILE=cmake/AndroidToolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DPKG_CONFIG_EXECUTABLE="/usr/local/pkgconfig/bin" -DANDROID_NDK="/usr/local/ndk/android-ndk-r9d" -DFREERDP_ANDROID_EXTERNAL_SSL_PATH="/usr/local/openssl-ndk/android-external-openssl-ndk-static" -DANDROID_BUILD_JAVA=OFF

命令执行完成后,很可能会有报错,提示缺少 winptr/nt.h 文件,请查看下面的 「cmake 命令报错解决」部分,如果没报错,则执行下一步

6.编译 makefile 脚本文件

make

cmake 命令报错解决

1.下载 stable-1.1 分支

// -b:下载指定分支git clone -b stable-1.1 /FreeRDP/FreeRDP.git

2.获取历史版本的 SHA 值

方式一:查看历史版本

git log --pretty=oneline

方式二:github 查看更新记录

最新一次更新之前的提交版本对应的 SHA 值为 851f0979d5b0b45a7595cab7ab1dd2d41d4a73d1

3.恢复到指定历史版本

git reset --hard 851f0979d5b0b45a7595cab7ab1dd2d41d4a73d1

4.使用 cmake 生成 makefile 文件

cmake -DCMAKE_TOOLCHAIN_FILE=cmake/AndroidToolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DPKG_CONFIG_EXECUTABLE="/usr/local/pkgconfig/bin" -DANDROID_NDK="/usr/local/ndk/android-ndk-r9d" -DFREERDP_ANDROID_EXTERNAL_SSL_PATH="/usr/local/openssl-ndk/android-external-openssl-ndk-static" -DANDROID_BUILD_JAVA=OFF

5.使用 make 编译 makefile 生成库文件

make

命令执行完成后,如下图所示,则表示编译库文件成功

此时,就可以把这个 .so 文件拿到 Android 项目中使用了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。