shared-libraries 相关问题

共享库是程序在启动时加载的库。每个库的单个共享副本被加载到物理内存中,并且可以由多个进程同时使用。这减少了内存使用并提高了系统性能。绝不能单独使用此标记。

使用预建的共享库时,android ndk UnsatisfiedLinkError

我正在尝试创建一个链接到另一个共享库的共享库。这是我的主要模块Android.mk:TOP_LOCAL_PATH:= $(call my-dir)include $(call all-subdir-makefiles)LOCAL_PATH:= $ ...

回答 3 投票 12

为什么会忽略runpath?

在CentOS 7.2上,我用g ++ 4.8.5构建了一个无法运行的应用程序,因为它找不到运行路径中存在的库。我很确定它在两周前发挥作用了。什么可能导致这个? $ ./app ...

回答 1 投票 1

DLL和EXE中具有相同名称和父级但具有不同实现的类中的问题

我有一个名为Menu的类,这个类用dll和exe编译。我有另一个名为ChildMenu的类继承自Menu,这个类也用dll和exe编译。我有 ...

回答 1 投票 0

将本机C文件作为库添加到Android项目中

我将创建一个Android应用程序,执行加法,减法,乘法,除法等算术功能。我知道这是一个简单的应用程序,但要使它有点复杂,我......

回答 2 投票 0

是否可以将调试模式编译库链接到发布模式下的项目?

我在C ++和Visual Studio中的调试模式下有一个编译库(静态.lib),并希望在一个将在发布模式下编译的项目中使用它。这可能吗?我无法编译......

回答 2 投票 0

可以使用哪些编程语言来创建共享/动态库?

我知道C和C ++可以轻松创建共享库,但我想要的东西也可以帮助我。 D看起来很有前途,但我觉得写入很难而且很笨重,特别是没有良好的IDE支持(...

回答 1 投票 0

将静态库转换为共享库?

我有一个第三方库,主要包含大量静态(.a)库文件。我可以将它编译成一个.a库文件,但我真的需要它是一个.so共享...

回答 5 投票 47

如何dlsym加载QString函数

我正在尝试使用Qt为Linux系统编写一个C ++工具。我的工具使用共享库我正在编写一个lib来将数据推送到数据库。像头文件QString pushdata(QVariantMap params)中那样的方法; ...

回答 2 投票 2

链接器使用cmake在macOS上发布共享库

我有一个cmake项目,它创建了一个共享库,该库又引用了其他库:openssl,zlib,libevent和libevhtp。我的项目在linux上编译/链接很好(它创建了...

回答 2 投票 1

更新使用“-Bsymbolic”链接器选项生成的ELF共享对象

我相信“-Bsymbolic”选项会在共享对象的ELF动态符号表中添加一个标志。有没有办法使用objcopy等工具删除此标志,使其表现为共享对象...

回答 1 投票 1

如何防止CMake在安装时为共享库创建符号链接?

有没有办法阻止CMake为libfoo.so等共享库创建符号链接时使用so-versioning(这意味着你会有像libfoo.so.0.8这样的东西)?之所以 ...

回答 1 投票 7

dladdr不会在dli_fname中返回完整路径

我使用dladdr来获取库的完整路径:Dl_info dl_info; int ret = dladdr((void *)&func,&dl_info); if(ret)//使用dl_info.dli_fname;它工作正常。但是,如果我重命名...

回答 1 投票 0

动态加载时的库路径?

如何从库本身获取共享库的路径?换句话说,假设使用dlopen()加载库X,我如何才能访问用于加载的路径...

回答 2 投票 12

构建共享库时,只需要依赖库的头文件吗?

说共享库A依赖于另一个共享库B.在这种情况下,当我构建A时,我是否只需要B的头文件?因为只有当我构建一些需要A的程序时才需要B.是吗......

回答 1 投票 1

如何在主程序中解析共享库的外部符号?

我一直在阅读很多关于共享库的加载时链接的语义,还有一件我无法理解的事情是主程序如何引用函数...

回答 1 投票 2

C ++ - 如果两个库使用相同的源代码进行构建,会发生什么

我怀疑是否有可能使用源文件common.cpp和lib2.so再次使用相同的源文件common.cpp构建lib1.so。现在我想用这两个库构建我的应用程序APP,我...

回答 1 投票 0

Linux上的C ++动态共享库

这是使用g ++进行动态共享库编译的后续操作。我正在尝试在Linux上用C ++创建一个共享类库。我能够编译库,我可以调用一些(...

回答 4 投票 153

从so文件和调用方法加载符号

我在C ++中遇到了问题。我创建了一个名为execute int * execute(int tab [],int n){for(int i = 0; i。)的函数

回答 3 投票 1

加载共享库时出错:libevent-1.4.so.2:无法打开共享对象文件:

我正在使用libevent进行程序,我在两台计算机A和B上编译我的程序,在A上执行成功,但在B上我遇到以下错误:加载共享库时出错:libevent -...

回答 1 投票 6

更改ld-linux位置

我发现要加载库,首先打开可执行文件/lib/ld-linux-x86-64.so.2。有关加载共享库的所有功能(在许多路径中搜索,使用rpath等)都可以...

回答 2 投票 3

© www.soinside.com 2019 - 2024. All rights reserved.