freerdp编译安装步骤
参考教程:https://juejin.cn/post/7372403209053208613
freerdp官方编译教程:freerdp官方编译教程
一、安装choco
powershell管理员权限安装choco,重启生效
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
二、安装vs2022
通过cmd管理员权限安装
choco install -y VisualStudio2022Community
#也可换成2026版本
#choco install -y VisualStudio2026Community
打开visual studio install安装c++桌面开发


三、安装Ninja
choco install -y ninja
四、安装cmake
choco install -y cmake.install --installargs '"ADD_CMAKE_TO_PATH=System"'
五、安装git
choco install -y git
六、安装vcpkg
这里一定要从git clone,因为vcpkg.json里面用到了override指定了依赖库的版本
mkdir workspace
cd workspace
git clone https://github.com/microsoft/vcpkg.git
#如果下载失败,可以配置http代理
#git config --global http.proxy http://192.168.1.12:1081
#git config --global https.proxy http://192.168.1.12:1081
#验证http代理是否配置完成
#git config --global --get http.proxy
#git config --global --get https.proxy
#初始化vckg
.\vcpkg\bootstrap-vcpkg.bat
#记得添加环境变量!!!
七、安装freerdp依赖
#最小化安装依赖
vcpkg install zlib:x64-windows openssl:x64-windows
#启用usb重定向,启用ffmpeg
libusb:x64-windows ffmpeg:x64-windows icu:x64-windows jansson:x64-windows json-c:x64-windows cjson:x64-windows uriparser:x64-windows
#待定,
vcpkg install openh264:x64-windows
vcpkg install gstreamer:x64-windows
八、下载freerdp源码
下载freerdp最新release源码,解压到workspace目录
九、编译freerdp
在freerdp源码目录新建build目录,进入build目录开始编译
mkdir build
cd build
CMake 配置命令
#如果是vs2026,需要改参数
#-G "Visual Studio 18 2026" ^
#最小化客户端
cmake .. ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-DCMAKE_TOOLCHAIN_FILE=C:\Users\Administrator\Desktop\workspace\vcpkg\scripts\buildsystems\vcpkg.cmake ^
-DWITH_CLIENT=ON ^
-DWITH_SERVER=OFF ^
-DWITH_SHADOW_SERVER=OFF ^
-DWITH_PROXY=OFF ^
-DWITH_FFMPEG=OFF ^
-DWITH_OPENH264=OFF ^
-DWITH_GSTREAMER=OFF ^
-DWITH_MEDIA=OFF ^
-DWITH_CUPS=OFF ^
-DWITH_PULSE=OFF ^
-DWITH_ALSA=OFF ^
-DWITH_USB=OFF ^
-DWITH_URBDRC=OFF ^
-DCHANNEL_URBDRC=OFF ^
-DWITH_CLIENT_SDL=OFF ^
-DWITH_CLIENT_WIN32=ON ^
-DBUILD_TESTING=OFF ^
-DBUILD_SHARED_LIBS=ON ^
-DWITH_SERVER_INTERFACE=OFF ^
-DWITH_SERVER_CHANNELS=OFF ^
-DWITH_KRB5=OFF ^
-DWITH_FUSE=OFF ^
-DWITH_SWSCALE=OFF ^
-DWITH_AVCODEC=OFF ^
-DWITH_AVUTIL=OFF ^
-DWITH_SWRESAMPLE=OFF
#支持usb重定向,使用方法:/usb:id,dev:vid:pid,/usb:auto暂时不生效
cmake .. ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-DCMAKE_TOOLCHAIN_FILE=C:\Users\Administrator\Desktop\workspace\vcpkg\scripts\buildsystems\vcpkg.cmake ^
-DVCPKG_TARGET_TRIPLET=x64-windows ^
-DVCPKG_APPLOCAL_DEPS=ON ^
-DWITH_CLIENT=ON ^
-DWITH_CLIENT_WIN32=ON ^
-DWITH_CLIENT_SDL=OFF ^
-DWITH_SERVER=OFF ^
-DWITH_PROXY=OFF ^
-DWITH_CLIPBOARD=ON ^
-DWITH_WEBAUTHN=ON ^
-DWITH_USB=ON ^
-DWITH_URBDRC=ON ^
-DCHANNEL_URBDRC=ON ^
-DWITH_SOUND=ON ^
-DWITH_WINMM=ON ^
-DWITH_VIDEO=ON ^
-DWITH_FFMPEG=ON ^
-DWITH_GFX_H264=ON ^
-DWITH_OPENH264=OFF ^
-DWITH_GSTREAMER=OFF ^
-DWITH_MEDIA=OFF ^
-DWITH_D3D11=ON ^
-DWITH_DXGI=ON ^
-DWITH_DXVA=ON ^
-DWITH_CUPS=OFF ^
-DWITH_JPEG=ON ^
-DWITH_PNG=ON ^
-DWITH_ZLIB=ON ^
-DWITH_JANSSON=OFF ^
-DWITH_JSON_DISABLED=ON ^
-DWITH_CJSON=OFF ^
-DWITH_JSONC=OFF ^
-DBUILD_TESTING=OFF ^
-DBUILD_SHARED_LIBS=ON ^
-DWITH_SERVER_INTERFACE=OFF ^
-DWITH_SERVER_CHANNELS=OFF ^
-DWITH_KRB5=OFF ^
-DWITH_FUSE=OFF ^
-DWITH_CHANNELS=ON ^
-DWITH_DVC=ON ^
-DWITH_DVC_CAM=ON
构建命令
cmake --build . --config Release
在build目录执行,拷贝运行依赖
copy /Y client\common\Release\*.dll client\Windows\cli\Release\
copy /Y client\Windows\Release\*.dll client\Windows\cli\Release\
#在freerdp根目录执行,自动打包依赖到dist目录,如果开启了usb重定向参数,缺少的依赖到workspace\vcpkg\installed\x64-windows\bin拷贝dll库文件
cmake --install build --config Release --prefix dist
在client\Windows\cli\Release\运行wfreerdp
wfreerdp.exe /v:192.168.1.106 /u:administrator /p:123456 /cert:ignore
可以把Release目录拷贝到任意windows环境运行
十、代理
国内网络不行,大概率需要代理
set HTTP_PROXY=http://192.168.1.12:1081
set HTTPS_PROXY=http://192.168.1.12:1081
set VCPKG_HTTP_PROXY=http://192.168.1.12:1081
set VCPKG_HTTPS_PROXY=http://192.168.1.12:1081