如何在cmake windows中添加资源

问题描述

我需要将 exe 作为资源添加到另一个 exe。 我正在使用 Windows。 我在 CMake 中尝试了很多我在谷歌上找到的东西,但是当我在 CFF 资源管理器上编译和链接后打开 exe 时,我什么也没看到。

我尝试了以下方法

add_executable(ExecutableTarget
        main.c
        hello.exe)

set(RESOURCE_FILES
        hello.exe)

set_target_properties(ExecutableTarget PROPERTIES
        MACOSX_BUNDLE TRUE
        MACOSX_FRAMEWORK_IDENTIFIER org.cmake.ExecutableTarget
        RESOURCE "${RESOURCE_FILES}")

有人可以帮我吗?

解决方法

通常,如果您需要将程序拆分成不同的部分来解决不同的问题,您应该使用动态库(dll 文件),而不是分离的 exe。通常,只有 1 个可执行文件和多个 dll 文件包含解决不同问题的函数或类。如果只需要运行exe尽量只使用system("")函数来调用exe,则无需将其作为cmake资源。也许你可以把它放在一个文件夹里,以便简单地定位它。

要链接 dll,请参阅此答案: Link shared dll