【问题标题】:CMake: find_library on runtime?CMake:在运行时 find_library?
【发布时间】:2015-03-06 21:27:29
【问题描述】:

有一个包含多个项目的 Visual Studio 解决方案,其中一些项目依赖于其他项目,例如:

SLN
    Project1[dll]
    Project2[exe]

这里 Project2 需要 Project1.lib 和 dll。是否可以通过 cmake 找到 Project1.lib 的路径(find_library 将失败,因为生成 cmake 文件时 lib 不存在)或者唯一的方法是硬编码到 lib 的路径?

【问题讨论】:

    标签: dll path cmake dependencies runtime


    【解决方案1】:

    如果它们是同一个解决方案的一部分,我怀疑它们将被构建为同一个 CMake 项目的一部分。

    在这种情况下,只需使用 Project1 的目标作为 Project2 的依赖项:

    add_library(Project1 ...)
    
    [...]
    add_executable(Project2 ...)
    target_link_libraries(Project2 Project1)
    

    另一方面,如果您希望将Project1 构建为Project2 的一部分,但不是来自同一个CMake 项目,请查看ExternalProject 模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 2021-07-11
      相关资源
      最近更新 更多