【发布时间】:2018-04-11 02:38:00
【问题描述】:
我使用 conan 作为依赖管理器,使用 cmake 作为构建工具。我有一些预先构建的第三方库,它们在 lib 文件夹( .a 和 .so 文件)中有共享库和静态库。我的计划是从那些预先构建的库中创建柯南包,并使用它们来构建应用程序
当我在构建应用程序时尝试链接库时,默认情况下它会链接共享库。但我想将静态库用于特定应用程序。
解决问题的一种方法是为静态库和共享库创建两个单独的 conan 包,并将所需的静态包包含在 conanfile 中,但这会导致 Artifact 管理的冗余(相同的头文件将出现在多个包中)。
是否有更好的方法通过对 conanfile.py 或 CMakeLists.txt 进行任何更改,以便我可以链接静态库而不是共享库,即使相同的 lib 文件中存在类似的共享库(例如 libX .a 和 libX.so 都在同一个 lib 文件夹中)?
【问题讨论】: