首页 > TAG信息列表 > shared-libraries

c-LSB AppChecker:GCC链接未使用的库

我正在使用LSB AppChecker检查共享对象(.so)的可移植性. 它报告的问题之一是,有一个外部库(libm.so.6)未被使用,但无论如何都被链接在一起. 如何防止GCC链接到此不需要的库? 编辑:针对我的共享对象的ldd命令的输出为: linux-gate.so.1 => (0x009ff000) libstdc++.so.6 => /u

Linux FreeBSD共享对象问题

我正在尝试为freebsd构建一个应用程序,该应用程序链接到在Linux上构建的共享库“ share.so”.我还在/usr/compat / linux / lib下有与freebsd linux兼容的库.我能够编译我的应用程序.但是,当链接到“ share.so”时,我遇到了很多错误,因为share.so(基于linux构建)需要访问“ /usr/co

linux-无法识别共享库文件格式

我正在使用共享库.我正在使用它来交叉编译我的可执行文件.在链接阶段,链接器将抛出无法识别的错误文件格式. 在ld上运行ld时libcclass.so:无法识别文件:无法识别文件格式 当我运行文件libcclass.so时:它给出了libcclass.so:ELF 64位LSB共享对象,x86-64,版本1(SYSV),未剥离解决方法:如果

将C/C++程序移植到Android

我试图将C程序放到Android手机上,但是库链接遇到了一些问题.似乎我通过google找到的关于该主题的大多数有用信息都已过时(motz),或者根本无法说明我程序的复杂性.我已经能够运行简单的C程序,但是尝试使用Android的Bionic / libc之外的库时失败. 所以我的问题是: >是否可以将预先存在

linux-获取功能指针以在我未直接加载的共享库中运行

我的Linux应用程序(A)链接到我没有源代码的第三方共享库(B).该库使用了我没有源代码(C)的另一个第三方共享库.我相信(B)使用dlopen来访问(C)而不是直接链接.我的理由是(B)上的’ldd’不显示(C),而objdump -X(B)显示对dlopen / dlclose / dlsym的引用. 我的要求是我需要在代码中为(A

PHP在构建时未正确链接MySQL共享库

我正在尝试使用此配置在新计算机上构建PHP: export MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LIBS=-lresolv export DYLD_LIBRARY_PATH=/usr/local/mysql/lib ./configure --prefix=/usr/local --with-apxs2=/usr/sbin/apxs --with-l

linux-ldconfig仅链接以lib *开头的文件?

我正在努力使MVTec Halcon 11在Ubuntu上运行.一切都在正确的位置,但是程序看不到图像采集所需的动态库(仅照相机可以正常工作,驱动程序已安装) 我将带有库的路径添加到/etc/ld.so.conf并运行ldconfig -v,但是目录中存在28个文件(所有“ Shared Library”类型和.so扩展名),只有“ li

java-在JBoss AS 7中放置共享库的位置

我有多个Web应用程序,每个Web应用程序都使用spring-hibernate和其他开放源代码库和portlet,因此基本上每个war文件都包括那些jar文件.我如何将这些罐子移到一个公共位置,这样我就不必将它们放在每个战争文件中了?我的罐子放在D:/目录中. 我尝试创建模块,但没有成功.例如如果我加了罐

linux-ldconfig仅加载.so文件

我正在尝试运行一个使用libdnet的程序(Snort),但找不到它并输出: snort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory 现在我知道我应该通过运行ldconfig并将该库的路径放在/etc/ld.so.conf中来添加该库. li

在Python中使用ctypes.util.find_library获取库的完整路径

在Python中,可以使用ctypes.util.find_library以类似于编译器的方式来定位库.在Mac OSX中,该函数返回完整路径名.但是在Linux中,仅返回文件名. (这里是docs) 有没有办法在Linux中也获得fullpath?解决方法:您可以加载库,并使用dl_iterate_phdr遍历加载的库: #!python from ctypes imp

Linux相当于Windows DLL转发器或MacOS reexport_library

我有一个共享库,试图提供一个标准化的接口,基本上是一个功能列表.其中一些功能已由另一个共享库提供.因此,我可以编写其他功能,并要求用户链接到两个库,即让他这样做: g++ foo.c -lmine -lother 为了使用户更轻松,我不想这样做. (鉴于我所处的情况,这比在某些脚本中添加标志要复杂

为什么Python运行C函数要比C通过main()函数运行自己的函数快?

我编写了一个极其强力的函数来检查数字是否为质数.循环上升到1,000,000.我将C代码编译到共享库中,并使用Python运行该函数,然后在C的main()函数中运行了相同的函数.为什么时间显示python比C做得更快? 我的C代码(cppcode.cpp): #include <iostream> #include <boost/python.hpp> usin

MATLAB为什么无法导入此python库?

我想在MATLAB中使用http://www.losonczylab.org/sima/1.2/. 我可以从python正常运行. 我可以在MATLAB中导入示例依赖项. $/opt/local/bin/python Python 2.7.9 (default, Dec 13 2014, 15:13:49) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin Type "help

Android NDK:使用预构建的共享库时的C运行时限制

我有一个使用gnustl_static作为c运行时的项目,该项目在Application.mk中全局设置. 在该项目中,我现在想包括一个来自第三方的预构建共享库,该库实现了某些功能.为此,我使用了NDK构建系统提供的PREBUILT_SHARED_LIBRARY机制: include $(CLEAR_VARS) LOCAL_MODULE := xyzAPI LOCAL_SR

c-共享库和libpthread.so的g问题

我在这个问题上碰壁了,希望在这里能找到一些帮助.我创建了一个小示例可执行文件和共享库来展示该问题. 抱歉,我意识到这变成了文字墙,但是我试图确保包含所有相关信息. 我的设定 System: CentOS release 5.11 (Final) g++: gcc version 4.4.7 20120313 (Red Hat 4.4.7-1) (GCC) l

从C返回字符串到Python

我是C和Python的新手,我正在尝试将C函数getText()放入Python,但我得到的只是数字 这是foo.c #include <stdio.h> const char * getText(void) { return "world hello"; } const char * getText2(void) { return "hello world"; } 这是我来自终端的python代码 >>> im

linux-如何从lib .so文件中查找功能?

我可以打印一个* .so文件的导出功能列表,例如 nm -C lib / libopencv_ml.so 然后找到我的功能 nm -C lib / libopencv_ml.so | grep我的功能 但是,当我想从所有.so文件中查找函数时,如何确定哪个.so包含我的函数? 这只是打印功能的所有条目,但我需要知道它从哪个.so文件中出现. nm -

Python库有何不同?

如果我跑步 bob@me:/usr$find . -name 'libpython2.7.so' 我得到两个成功: ./lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so ./lib/x86_64-linux-gnu/libpython2.7.so 有什么不同?解决方法:一个是libpython2.7.so的配置,另一个是该特定库文件所在的确切位置.

c-nm命令输出中的“ @@”符号是什么意思?

我正在查看Linux中共享库的’nm’命令的输出.我看到这个 U stderr@@GLIBC_2.0 这是否意味着stderr被硬链接到glibc2.0?我问这个原因的原因是,我们有一组库(例如a1.so,a2.so,…)是针对我们导出的库的一个不同版本(例如ex.so.1,例2).导出的库都导出一个函数,例如foo.加载a * .so库时

c-如何创建共享库特定的单例实例

我为应用程序提供了一组插件,这些插件都链接到一个公共的基本库.基础库定义一个单例,该单例维护每个插件中所有对象构造函数的列表. 在Windows上,我可以将此基础库创建为静态库,因此在每个插件中都放置了一个单例的副本. 但是在Linux上我有一些相反的问题as this fellow. 到目前为

在Linux上的哪个库中,系统调用以及该库如何链接到包含系统调用的可执行对象文件?

我知道系统调用不在C标准库中.是否有系统调用所在的库(某种系统库)? 如果有这样的库,该库如何链接到可执行程序?解决方法:根据目标体系结构,系统调用可以几种不同的方式工作,但无论如何,它不是库调用.这是正在运行的用户空间程序调用内核中某些功能的一种方式. 在非常老的系统中,这通

python-在许多扩展模块之间使用F2PY共享Fortran 90模块数据

我想在许多自编译的F2PY扩展模块之间共享位于Fortran 90模块中的数据. F2PY的文档说这不可能,因为Python通常是如何导入共享库的. F2PY generates wrappers to common blocks defined in a routine signature block. Common blocks are visible by all Fortran codes linked

linux-是否有任何工具可以检查交叉编译的.so文件中的符号?

我有一个应用程序,使用dlopen()在启动时将.so文件作为插件加载 构建环境在x86硬件上运行,但是正在为另一个平台交叉编译该应用程序. 如果能够(作为自动生成过程的一部分)进行检查以确保在.so文件和应用程序的组合中没有任何未解析的符号,而不必实际部署应用程序,那将是很好的. 在编

linux-有没有一种自动的方法来找出共享对象的依赖关系?

短: 我正在寻找可以列出SO中所有未解决的依赖性的东西,同时考虑到其依赖性中的SO. 长: 我正在Linux中将大量静态编译的代码转换为共享对象-是否有一种简单的方法来确定我最近编译的SO除了试用和依赖于其他SO,尝试加载时出错? 我敢肯定有更好的方法,但是我还没找到. 我找到了“ ldd”,

使用C/C++编写的共享库的Linux C程序

我正在做一个项目,主程序用C编写,它在嵌入式Linux系统上.在另一家公司提供的硬件上,我得到了它们的库(使用c和c语言的静态库).为了以后移植到其他设备,我制作了新的库(共享库)以与使用c语言的应用程序链接,即: their libs(static libs,c/c++) --> my libs(shared libs,c) --> my a