如何告诉cmake我希望我的项目静态链接库? [英] How do I tell cmake I want my project to link libraries statically?

查看:186
本文介绍了如何告诉cmake我希望我的项目静态链接库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to build an OpenCV-based project using CMake, running on Linux. So far my CMakeLists.txt files looks something like

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

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

but this results in dynamically linked libraries. How do I link with static libraries?

推荐答案

只需设置 BUILD_SHARED_LIBS 标志为false在CMake。然后你需要做的就是用这些静态库来构建你自己的应用程序是在你的 CMakeLists.txt 中添加一个对OpenCV的依赖:

You build static OpenCV libraries by just setting the BUILD_SHARED_LIBS flag to false in CMake. Then all you need to do to build your own application with those static libraries is to add a dependency on OpenCV in your CMakeLists.txt:

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

并且CMake会处理一切。

and CMake will take care of everything.

这篇关于如何告诉cmake我希望我的项目静态链接库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆