【问题标题】:How to force CMake to relink project on resources change?如何强制 CMake 在资源更改时重新链接项目?
【发布时间】:2018-09-12 21:31:28
【问题描述】:

我有一个非常简单的 C++ 可执行文件和一些 .txt 资源文件。在构建时,我通过链接器将.txt 文件嵌入到C++ 二进制文件中,然后在运行时加载它们(基于this answer)。效果很好。

我的问题是重新链接。当我更改我的可执行文件的.cpp 源并运行make 时,项目会自行重建。但是,如果我更改 .txt 文件并运行 make,则二进制文件不会重新链接。如何强制 CMake 监视我的资源文件 (.txt) 的更改,以便在这些更改时重新链接可执行文件以包含最新的 .txt 资源文件?

【问题讨论】:

  • 你能为此展示一些 CMake 代码吗?您如何将.txt 文件添加到二进制文件中?这对于找到解决方案很重要

标签: cmake linker resources


【解决方案1】:

您可以设置一个名为 OBJECT_DEPENDS 的源属性,其中包含您的 .txt 文件的路径。要为其设置此属性的文件应该是目标中包含的任何源。

【讨论】:

  • 这是正确答案。此外,请确保指定 OBJECT_DEPENDS 属性的参数的完整路径以避免构建错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 2017-03-20
  • 2022-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多