2

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

任何人都知道给cmake什么标志来制作.dll?

在 Freerdp 用作脚本的 CMakeLists.txt 中没有看到该标志

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

4

2 回答 2

2

更改:

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

在文件中:

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

行:48,至:

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

于 2021-08-11T10:56:04.910 回答
2

您可以修改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 将被构建。

于 2021-08-11T10:56:20.460 回答