当前位置: 首页 > 面试题库 >

如何告诉cmake我希望我的项目静态链接库?

公冶鸣
2023-03-14
问题内容

我正在尝试使用在Linux上运行的CMake构建基于OpenCV的项目。到目前为止,我的CMakeLists.txt文件看起来像

FIND_PACKAGE (OpenCV REQUIRED)
...
TARGET_LINK_LIBRARIES (my-executable ${OpenCV_LIBS})

但这会导致动态链接的库。如何链接静态库?


问题答案:

您可以通过BUILD_SHARED_LIBS在CMake
中将标志设置为false来构建静态OpenCV库。然后,使用这些静态库构建自己的应用程序所需要做的就是在您的计算机中添加对OpenCV的依赖CMakeLists.txt

FIND_PACKAGE (OpenCV REQUIRED)
...
TARGET_LINK_LIBRARIES (your-application ${OpenCV_LIBS})

和CMake将照顾一切。



 类似资料:
  • 问题内容: 在Linux上的“ C”上, 我需要静态库来静态链接,还是需要足够的共享库?如果没有,为什么不呢?(它们不包含相同的数据吗?) 问题答案: 是的,您需要静态库来构建静态链接的可执行文件。 静态库是编译对象的捆绑包。静态链接到库时,实际上与获取该库的编译结果,将它们解压缩到当前项目中以及将它们当作自己的对象使用一样。 动态库已链接。这意味着一些信息,例如重定位,已经被修复并丢弃。 此外,

  • 我正在将Code::Blocks IDE(v13.12)与GNU GCC编译器一起使用。 我想使用链接器链接我的程序所需的运行库的静态版本,我可以怎么做 我已经知道我的可执行文件的大小会增加,你能告诉我其他的缺点吗 在Visual C Express中执行此操作怎么样

  • 本文向大家介绍浅谈CMake配置OpenCV 时静态链接与动态链接的选择,包括了浅谈CMake配置OpenCV 时静态链接与动态链接的选择的使用技巧和注意事项,需要的朋友参考一下 方法: 添加OpenCV_STATIC 选项,设置为不勾选,在cmake配置的时候就会选择动态库 否则,cmake 配置的时候会设置为静态库 以上这篇浅谈CMake配置OpenCV 时静态链接与动态链接的选择就是小编分享

  • 通过将源代码添加到中,我成功地构建了一个运行TF Lite模型的简单C++应用程序,类似于官方C++TF指南对完整TF的建议。现在,我想将它构建为一个单独的项目(共享库),静态链接到TF Lite,并使用CMake作为构建系统。 我尝试向我的添加一个自定义目标,它将使用Bazel构建TF Lite: 通过这种配置,我在链接过程中得到了许多对TFLite内容的未定义引用。我检查了,在中确实缺少这些符

  • 我的项目使用Android Volley网络框架已经很久了,但是最近我发现了一个发布在互联网上的SSL 3.0协议bug。 我想知道如何找出我的项目使用的TLS版本,以及如何确认库是否更新。 这是我的源代码片段: 我认为重点是HurlStack类,它取决于包,但是我不知道TLS/SSL配置在哪里。

  • 科学论文的R“stats”引用问题使我想知道,当在学术论文中使用R时,我将如何列举我应该引用的所有R包。我如何获得我加载并需要引用的包列表?