gpt4 book ai didi

c++ - CMake:Eigen3 包含第三个项目所需的目录

转载 作者:行者123 更新时间:2023-11-28 02:48:48 25 4
gpt4 key购买 nike

我实现了一个使用 Eigen3 的库。以下几行是该库的 CMake 的一部分:

#EIGEN
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})

并且找到了 Eigen3,我的库编译没有任何问题。

当我在其他项目中使用我的库时出现了复杂情况。该项目与Eigen无关,不在那里使用。但是,如果我不在此项目中也包含 Eigen include 目录,它的编译将失败。

我的库被编译为动态库,我猜它缺少一些 Eigen 的东西,这就是为什么该项目也需要 Eigen 包含目录。知道如何解决这个问题吗?

谢谢。

PS:我在 Ubuntu 13.04 中使用 QtCreator 作为 IDE。

最佳答案

Eigen 是一个只有 header 的库(除了一些 blas 绑定(bind))。确保在使用库时 Eigen 不需要作为构建时依赖项的唯一方法是仅在库的源文件中包含 Eigen header ,而在 header 中不包含任何 header 。这可能需要使用 PIMPL 对 Eigen 类型和函数进行一些包装或类似的东西。

如果已经是这种情况,则说明您的问题缺少信息。

关于c++ - CMake:Eigen3 包含第三个项目所需的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23513999/

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