【问题标题】:How to use .so library in C++ with Clion and Cmake?如何在 C++ 中通过 Clion 和 Cmake 使用 .so 库?
【发布时间】:2018-08-09 16:57:23
【问题描述】:

已经有a question 讨论这个问题,但提问者要么做的比我复杂,要么发布的答案假设我有太多背景知识无法理解。

我正在尝试使用以下库:https://github.com/samehkamaleldin/socket.cpp .

我从 github 下载了库并构建了它。然后我将生成的.so 文件放在与main.cpp 相同的目录中,如下所示:

但是,我不确定从这里开始做什么,根据我的研究,我需要使用命令target_link_libraries,但我不确定每个参数要传递什么。

【问题讨论】:

  • 不确定 CLion 在执行代码时使用什么作为它的工作目录,但它可能与源代码不在同一个目录。库相对于需要它的可执行文件或任何其他基于文件的资源的位置可能会很烦人,因为程序可能从任何地方运行,导致可执行文件无法找到资源,除非您确定了在哪里可执行文件需要查看或将资源添加到路径中。搜索词:工作目录。
  • add_target_library(target_name, library_name) 我会粘贴名称,但您发布的是图片而不是文字。
  • @stark。我假设您的解决方案需要我以某种方式在我的系统中安装该库。是否只涉及将.so 文件移动到当前目录。
  • 无需安装库即可使用 cmake 构建 C++ 项目。您确实需要开发信息(头文件),因此您可能还需要为库添加包含目录。
  • github 链接包含库的完整源代码 - 所以我确实可以访问 .hpp 文件,但我不太确定如何处理它们。

标签: c++ cmake shared-libraries clion


【解决方案1】:

为了使用该库,有几个方法,我建议你阅读这篇文章:Correct way to use third-party libraries in cmake project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-29
    • 2018-11-23
    • 2018-03-26
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    相关资源
    最近更新 更多