如何编译 wfreerdp.dll 而不是 wfreerdp.exe?

How can I compile wfreerdp.dll instead of wfreerdp.exe?

我刚刚为我们的遗留项目编译了 freerdp 2.0,它生成了一个 wfreerdp.exe 文件,但我们的遗留项目使用 wfreerdp.dll 而不是 exe 版本

有人知道应该给 cmake 什么标志来制作 .dll 吗?

在 CMakeLists.txt 中没有看到标志,它被 freerdp 用作脚本

https://github.com/VeeamSoftware/FreeRDP/blob/master/CMakeLists.txt

更改:

add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS})

在文件中:

FreeRDP/blob/master/client/Windows/CMakeLists.txt

行:48,至:

add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})

您可以修改cmake文件生成dll而不是exe。 在 FreeRDP\client\Windows\CMakeLists.txt 中,您必须更改以下行:

add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS})

add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})

这样 wfreerdp.dll 将被构建。