问题标签 [dynamic-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
577 浏览

ruby - 在 Mac 上运行 64 位 dylib 和 32 位 ruby

我试图安装ruby​​-llvm

我可以用 llvm 安装brew install llvm -shared,也可以ruby-llvmsudo gem install ruby-llvm命令安装。

但是,当我尝试运行示例时,我收到了这些错误消息。

我检查了动态库是64位的。

似乎 ruby​​ 正在 32 位模式下运行。ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-darwin11.4.0].

我该如何解决这个问题?有没有办法下载32位版本ruby-llvm或64位版本的ruby

0 投票
1 回答
486 浏览

linux - Linux 中 Qt 动态库的问题

我在 Qt 中构建了一个基于 QuickFIX Engine 的应用程序,名为fixapp; 它工作正常。我的经纪人要求我指定一个本地端口来连接到他们。然后我找不到这样的配置文件,所以我修改了QuickFix的源代码。

我用QuickFIX源代码自带的例子进行了测试tradeclientexecutor这行得通。tradeclient绑定到我在配置文件中指定的本地端口。

但是,当我fixapp使用修改后的 QuickFIX 源代码构建的库时,它并没有绑定到我指定的本地端口。看来我修改的部分并没有改变程序的行为。

这里有什么潜在的问题?

更新:我试图在QuickFix源代码中设置一些断点。在我修改的一个 cpp 文件中,我的断点被忽略了。它是调试模式,而不是发布模式。我觉得它正在运行旧的 cpp 文件并显示新的 cpp 文件。

0 投票
2 回答
4022 浏览

python - 在 Python 2.6.6 上导入 sqlite3 时找不到共享库 _sqlite3.so

好吧,我已经为此奋斗了 2 天,这通常意味着它太简单而无法实现。

我有一个嵌入式 linux 系统,我在我的 ubuntu 上交叉编译。在编译python时,sqlite3不在无法编译的模块列表中。

但是,_sqlite3.so 库与 Python-2.6.6/build/lib.linux868-2.6/ 中的 json.so 和 ctypes.so array.so... 等位置不同

具有 init-functions 等的实际模块位于 Python-2.6.6/modules 中的正确位置,它也可以在目标系统上找到。

由于缺少so文件,我尝试使用我的arm编译器将它自己编译为共享库。这也不起作用。

没有手动编译的so文件:

使用在 lib-dynloads 中找到的已编译共享库:

编辑:我想知道我是否为 sqlite3 编译了正确的库。据我现在了解 _sqlite3.so 是 python 构建器制作的东西,而 libsqlite3.so 是它需要构建它的库吗?libsqlite3.so 是从 Sqlite3 源代码构建的。我在这里弄错了吗?

任何拥有更多嵌入式 Linux 或 Python 经验的人都知道我在这里做错了什么?

0 投票
1 回答
35 浏览

c++ - 错误消息中的这个目录指向哪里?

我在 Xcode 中运行一个程序,但是生成的输出是

dyld:库未加载:/fserver/mo/engine_build/BUILD_mac_64/climp/LIBS/nag_lm/libnagc_nag.dylib 引用自:/Users/William/Library/Developer/Xcode/DerivedData/Regression_Function-cmkvscbmyfohphbgblelwgtabfup/Build/Products/Debug/回归函数原因:找不到图像

我检查了,但根目录下没有调用/fserver目录。错误消息是什么意思,路径在哪里/fserver/mo/engine_build/BUILD_mac_64/climp/LIBS/nag_lm/libnagc_nag.dylib

0 投票
1 回答
1839 浏览

c++ - How to call a class and its function present in so file from a C++ program in Linux

Possible Duplicate:
C++ Dynamic Shared Library on Linux

I am writing a shared object say libtest.so which has a class and a function. I have another program say "Program.cpp" from which i want to call the class and its function present in the libtest.so file. I am clueless as to how to proceed. Please help.

Thanks Regards Mahesh

0 投票
0 回答
695 浏览

linux - Ogre 动态链接库

我正在尝试动态链接食人魔库。除了示例浏览器之外,我能够获取示例的链接库。

这是日志..

它抱怨丢失的头文件存在于我的工作目录中。我还尝试手动复制它抱怨的头文件,这就是我得到的。

0 投票
2 回答
1663 浏览

c - 如何获取指向动态库(Linux ELF)特定部分的指针?

从这个问题的第二个答案中可以看出,使用节的名称从程序自身内部获取指向程序特定节的指针非常简单。使用libelf,只需打开程序自己的文件,遍历其中的所有部分(由Elf64_Shdr结构表示),当部分名称与您想要的部分匹配时停止并使用存储在结构sh_addr元素中的指针Elf64_Shdr。在这种情况下,获取想要的指针非常简单,因为它是在 ELF 可执行文件中定义的。

但是,假设您有一个使用动态库的程序,并且您需要获取指向该动态库的一部分的指针。由于其部分的地址是在运行时定义的,如何获得指向动态库部分的指针?

顺便说一句,动态库和主程序本身都有一个同名的部分(这是我需要获得指针的部分)。那么,在这种情况下,这两个具有相同名称的部分是否有可能在内存中相邻存储,所以我只需要获取指向主文件部分的指针(正如我在第一段中解释的那样)并添加一个偏移量到达动态库部分?

0 投票
1 回答
680 浏览

c++ - 在动态库未定义引用中提升 python 包装器

我目前正在尝试将复杂程序的一部分放入动态库中。这部分由一些类组成,这些类也用 boost python 包装到一个模块中,以便再次嵌入。这是 dll 源的简化版本。

你好.cpp:

你好.h

然后,在应用程序的主函数中,我创建了一个嵌入 python 的类的实例,但它给出了对 World::foo() 的未定义引用,即使该函数是在动态库 libFoo.dll 中定义的,它也链接到主要应用。

主.cpp:

安慰:

我在 MinGW 中使用 Code::Blocks。

这个问题让我有好几天没睡了,我似乎无法找到解决它的方法。希望您能够帮助我。

提前致谢。

更新:

我现在尝试使用普通的 Python C API 来完成这项任务。定义与此错误肯定相关的 Python_Module (BOOST_PYTHON_MODULE()) 的步骤是通过定义如下函数来完成的:

现在写在前面

解决了错误。现在有人知道 boost.python 库是如何定义 BOOST_PYTHON_MODULE 函数的吗?也许也有这种解决方案?我在源文件中找不到任何 PyMODINIT_FUNC 内容。

0 投票
0 回答
390 浏览

c++ - 将外部数据从 DLL 转发到核心程序的前向声明

我正在编写一个 dll,其中包含一个 c++ 类定义和一个基于代理模式的核心程序,如本教程所述:http ://www.linuxjournal.com/article/3687

具体来说,这个dll在加载到核心程序上后,会在核心程序的数据结构中填入它的定义,包括类名、方法名、方法的函数指针。

但是,我想针对不同种类的类修改这种模式,而不是在文章中只修改一种基类,这就是我使用函数指针的原因。

我的程序如下:

在这个程序中,我将核心问题的两个数据结构外部化:

  1. class_map:包含核心程序中加载的dll中的所有类。方法图:
  2. method_map:包含每个类的所有方法的描述。class_map 和方法之间的关系是一对多的。但是,我遇到了class_map_和method_map的声明顺序问题。具体来说,我在类Proxy之外extern class_map,但我还必须在这个类内部定义方法结构。我尝试在以下链接中使用前向声明:何时可以使用前向声明?,但它不起作用。

我希望看到您对我的问题的解决方案。非常感谢

0 投票
1 回答
103 浏览

c++ - 为 qstring 导出结果设置编码

如何从库函数中导出 UTF8 编码字符串?