180得票9回答
ld无法找到现有库

我正在尝试在这个Debian Lenny系统上使用g++链接一个应用程序。ld报错说找不到指定的库。这里的具体例子是ImageMagick,但我也遇到了一些其他库的类似问题。 我使用以下命令调用链接器:g++ -w (..lots of .o files/include directorie...

38得票3回答
查看共享对象模块(lib*.so)内容的命令行

如何查看共享对象模块(lib *.so)的内容? 和使用以下命令行相似: ar -t lib*.a 该命令用于归档文件(lib*.a),并展示库中的所有目标文件。 编辑1 示例 ar -t lib*.a 给我显示: asset.o sldep.o 注:该文本为原文,无需翻...

32得票4回答
如何在C++中加载共享对象?

我有一个共享对象(一个so文件 - Linux中的Windows dll等效物),我想导入并与我的测试代码一起使用。 我确信这不是那么简单的,但这就是我想做的事情的类型..#include "headerforClassFromBlah.h" int main() { load( ...

32得票3回答
Linux中等价于DllMain的函数名

在 *nix 中,是否有一个入口点在库被加载和卸载时被系统调用的 .so 库? 更实际的问题是:如果 .so 是用 C++ 编写的,并且其中包含具有构造函数和析构函数的全局对象,并且它从一个没有构造/析构概念的语言中加载,那么全局对象是否正确地构造/析构?

18得票3回答
有没有一种方法可以在不加载它的情况下读取.so文件的内容?

有没有办法在不加载.SO(共享对象)文件的情况下查看其内容? 我的用例场景是: 我在Windows上有一个.so文件。我需要查询一些方法是否存在于.so文件中。 了解.so文件中的所有类。 给定类名需要找到此类上的所有方法。 注意:我可以轻松地在DLL上执行这些操作。同时,我正在Wi...

17得票3回答
无法打开共享对象文件

我正在尝试编译这里找到的一个项目:USB-I2C/SPI/GPIO接口适配器。 我下载了i2c_bridge-0.0.1-rc2.tgz包。我安装了libusb,没有遇到任何问题。我进入i2c_bridge-0.0.1-rc2/目录并执行make命令。那样编译了。我进入i2c_bridge-...

14得票2回答
共享对象在主二进制文件中找不到符号,C++

我正在尝试为我编写的程序创建一种插件架构,而在我的首次尝试中遇到了问题。是否可以从共享对象中访问主可执行文件中的符号?我认为以下代码是可以的: testlib.cpp:void foo(); void bar() __attribute__((constructor)); void bar(...

14得票3回答
同一SWF中多个共享对象未收到onSync删除事件

我有一个使用远程共享对象的应用程序,发现了一些奇怪的行为。我正在使用Flash Builder编写AS3中的ActionScript应用程序,并连接到Wowza Media Server 2。 我的应用程序工作得很好,但现在我想使用FlexUnit为其编写单元测试。我的单元测试涉及创建多个连...

14得票3回答
连接器如何知道哪些符号应在运行时解析?

链接器如何知道哪些符号应在运行时解析? 我特别关注共享对象文件携带的信息,指导链接器在运行时解决符号的问题。 动态符号解析在运行时如何工作,即可执行文件将如何查找符号,在定义多个具有相同名称的符号的情况下将找到哪一个? 如果该文件仅被静态链接,但随后作为共享库的一部分在运行时动态链接,会发生...

12得票4回答
如何使用.so文件运行C程序

我已经阅读了StackOverflow和Ask Ubuntu上的所有解决方案。 我有一个Go程序:package main import "C" //export Getint func Getint() int { return 2 } func main() {}...