首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何链接一个目录中的所有库?

如何链接一个目录中的所有库?
EN

Stack Overflow用户
提问于 2018-10-20 01:30:24
回答 2查看 1.6K关注 0票数 0

我正在为一个c++项目使用meson-build

我创建了一个名为libs的目录,并将我需要的所有库都放在其中,我如何链接它?

EN

回答 2

Stack Overflow用户

发布于 2018-10-20 01:35:57

在阅读了meson's dependencies manual之后,我不认为它有这样的选择。您应该为要链接的每个库指定一个依赖项。

下面是手册中的一个片段,告诉你应该如何使用自己的库来做到这一点:

代码语言:javascript
复制
my_inc = include_directories(...)
my_lib = static_library(...)
my_dep = declare_dependency(link_with : my_lib, include_directories : my_inc)

但是这是最好的,既然你应该非常小心地控制链接库,为什么?

即使并非所有符号都已解析,

  1. 链接也可能会成功,并且应用程序仅会在运行时崩溃。
  2. 您需要控制链接顺序,以防您有多个库具有相同的符号
  3. 您不希望链接不需要的库,因为它们可能会将恶意代码插入到您的应用程序中(例如,您的同事可能会在该文件夹中植入恶意库,而您永远不会知道,但您的应用程序中会有一个后门)
票数 2
EN

Stack Overflow用户

发布于 2018-10-20 02:26:42

好的,这就是我要找的,

代码语言:javascript
复制
    cmplr = meson.get_compiler('cpp')
    mylib1 = cmplr.find_library('lib_name1', dir : 'path_to_directory')
    mylib2 = cmplr.find_library('lib_name2', dir : 'path_to_directory')
    ....
    executable(.... , dependencies : [mylib1, mylib2])

谢谢你的建议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52897310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档