gpt4 book ai didi

cmake - 如何最好地使用 CMake 处理数据文件?

转载 作者:行者123 更新时间:2023-12-03 12:37:39 25 4
gpt4 key购买 nike

我有一个 CMake 项目,其中包含代码和一些数据文件(准确地说是图像)。

我的目录结构是这样的:

  • 数据

  • src 包含源代码、data 数据文件。 CMake 建议使用源代码构建,所以当我调用 make 时,我有可执行程序,但没有数据文件,因此我无法执行该程序。

    当然,make install 会将我的数据文件复制到所需的位置并使其工作,因此我现在是这样开发的:
  • cmake -DCMAKE_INSTALL_DIR=dist
  • <edit source code>
  • 进行安装
  • dist/myprogram.exe

  • 如果我正在使用命令行和编辑器,那没问题,但我最近决定转向 Eclipse CDT。从 CMake 生成 Eclipse 项目效果很好,但从 Eclipse 手动执行安装目标就不太好。

    你们是如何解决这个问题的?你的程序是否有一些聪明的算法来尝试找到它的数据目录,即使它不是二进制文件所在的位置?或者你不使用源代码构建?

    最佳答案

    configure_file 应该可以解决这个问题。

    我的数据目录中有一个 CMakeLists.txt 文件,其中包含以下内容:

    configure_file(data_file ${CMAKE_CURRENT_BINARY_DIR}/data_file COPYONLY)

    这会在调用 cmake 时将指定的文件复制到构建目录中,因此即使在源构建之外,它也可以在同一位置使用。
    configure_file不支持目录,而 file 命令执行:
    file(COPY assets DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

    关于cmake - 如何最好地使用 CMake 处理数据文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3431151/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com