shared-libraries相关内容

库标题和#define

我不确定要搜索什么.如果这很简单,请原谅.但让我概述一下场景,看看有什么答案. 假设我有一个定义如下结构的库: struct 示例 {一个;#if B_ENABLED国际b;#万一}; 此头文件作为整个库安装的一部分进行安装.我的问题是,如果我的库定义了 B_ENABLED,它将具有包含这两个变量的结构.但是如果我的应用程序也没有定义它.然后它会将标头解释为定义一个只有一个成员的结构. ..
发布时间:2021-12-26 22:13:45 C/C++开发

“ld:未知选项:-soname"在 OS X 上

我尝试在 Mac OS X 上使用 CMake 构建我的应用程序,但出现以下错误: 链接CXX共享库libsml.sold:未知选项:-sonamecollect2: ld 返回 1 个退出状态make[2]: *** [libsml.so] 错误 1make[1]: *** [CMakeFiles/sml.dir/all] 错误 2make: *** [all] 错误 2 这很奇怪,因为 M ..
发布时间:2021-12-26 22:12:35 其他开发

CMAKE_CXX_FLAGS 中的标志“-l"不起作用

我在我的 mac 机器上写了一些代码,它运行得很好,但是当我把它移植到 Linux 机器上时,我得到一个 对 curl_easy_init 的未定义引用 我的编译器标志包括用于链接的 -lcurl. 这是我的链接方式: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -L/curl/lib/dir -lcurl") 我试过有和没 ..
发布时间:2021-12-26 22:07:11 服务器开发

CMake:如何生成“尽可能静态"的二进制文件

我想控制在 CMake 中找到/链接到我的二进制文件的库的类型.最终目标是生成二进制文件“尽可能静态",即静态链接到每个有可用静态版本的库.这很重要,因为可以在测试期间实现跨不同系统的二进制文件的可移植性. ATM 这似乎很难实现,因为 FindXXX.cmake 包,或者更准确地说 find_library 命令总是在静态和动态都可用时获取动态库. 非常欢迎有关如何实现此功能的提示( ..

如何使用 cmake 创建共享库?

我已经写了一个库,我曾经使用自己编写的 Makefile 进行编译,但现在我想切换到 cmake.树看起来像这样(我删除了所有不相关的文件): .├── 包括│ ├── animation.h│ ├── buffers.h│ ├── ...│ ├── vertex.h│ └── world.h└── src├──动画.cpp├──缓冲区.cpp├── ...├── 顶点.cpp└── world ..
发布时间:2021-12-26 21:34:58 C/C++开发

用于在 5 个视频之间淡入淡出的 FFmpeg 命令.如何管理 setpts=PTS-STARTPTS?

在这里,FFmpeg 中的新功能.我在 FFmpeg 的控制台中使用和测试. 我已经完成了 2 个带有交叉淡入淡出的视频加入这个问题:我正在为 5 个视频合并淡入淡出我刚刚完成了 90% 的合并我只需要管理 setpts=PTS-STARTPTS 看看这个请. ffmpeg -i big_buck.mp4 -i big_buck.mp4 -i big_buck.mp4 -i big_buc ..
发布时间:2021-12-26 19:15:30 移动开发

是共享库/dll中的全局变量,跨进程共享

我正在开发一个共享库(.so)和 dll.我有一个在多个线程中更新的全局变量.所以我有用于同步的互斥锁. 我不清楚共享库中的全局数据是否跨进程共享.如果是,那么我需要使用信号量进行同步.据我所知,全局变量是数据段的一部分,所以我想了解 dll 如何跨进程管理全局数据.任何信息 w.r.t.dll 格式和段会很有帮助. 谢谢. 解决方案 默认情况下,不,全局变量不跨进程共享. ..
发布时间:2021-12-25 16:11:58 其他开发

无需重新启动进程即可更新共享库

如果我的进程正在加载 .so 库,并且有新版本的库可用,是否可以在不重启进程的情况下切换到新库?或者答案取决于诸如库中现有函数之一是否有参数更改之类的事情? 我在一个相当大的系统中工作,该系统运行 100 个进程,每个进程加载 10 个库.这些库提供特定的功能,由不同的团队提供.因此,当其中一个库发生变化时(例如修复错误),理想的做法是在不影响运行过程的情况下在后台发布它.可能吗? 编 ..
发布时间:2021-12-25 16:08:51 服务器开发

使用 ctypes 列出从 dll 导出的函数

有什么办法可以通过python外部函数库ctypes知道dll中导出了哪些函数? 如果可能的话,可以通过 ctypes 了解有关导出函数的详细信息. 如果是,有人可以提供一段代码吗? 解决方案 我认为 ctypes 不提供此功能.在带有 Visual Studio 的 Windows 上: DUMPBIN -EXPORTS XXX.DLL 或用于 windows 上的 mi ..
发布时间:2021-12-25 16:07:15 Python

跨dll使用静态类变量/函数

我需要帮助访问跨 DLL/主程序的全局函数.我有一个 Base 类 Base.h #ifdef MAIN_DLL#define DECLSPEC __declspec(dllexport)#别的#define DECLSPEC __declspec(dllimport)#万一类基{私人的:DECLSPEC 静态文件系统 * 文件系统;DECLSPEC 静态记录器 * 记录器;DECLSPE ..
发布时间:2021-12-25 16:05:10 C/C++开发

DLL 中的单例类可以跨进程共享吗?

我正在创建一个自定义的 .net 硬件框架,其他程序员将使用它来控制某些硬件.他们将添加对我们的 DLL 的引用以访问我们的硬件框架.我需要一个可以从多个应用程序(进程)访问的共享类. 单例模式似乎是我所需要的,但它仅适用于您进程中的多个线程.我可能完全错了,但这是我目前拥有的 C# 代码示例.我不禁觉得设计不正确.我希望我可以分享更具体的信息,但我不能. 我必须强调,我无法控制客户应 ..
发布时间:2021-12-25 16:01:55 C#/.NET

为什么 LIB 文件具有如此两面派的性质?

我正在尝试了解 Microsoft Windows 上的此 LIB 文件业务,并且我刚刚发现了一项发现,希望能够消除迄今为止阻碍我清楚了解该问题的困惑.也就是说,LIB 文件并不是它们的文件扩展名所暗示的那种文件. :: cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib":: lib/nologo/list Ad1.Libob ..
发布时间:2021-12-25 15:48:28 其他开发

加载 boost 共享库时出错

我正在研究 centos.我在我的系统上安装了 boost 版本 1.45.0.程序编译正确,但每当我输入命令查看输出时,它都会出现以下错误: ./a.out: 加载共享库时出错:libboost_thread.so.1.45.0:无法打开共享对象文件:没有这样的文件或目录 解决方案 您是如何安装 boost 库的? 您可能遇到的问题是链接器找不到库,并且在构建程序时,您必须手 ..
发布时间:2021-12-24 15:39:02 服务器开发

在 SharePoint 中创建自定义文档库

我的 SharePoint 页面中有一个文档库,其中有 10 个文档. 如果用户 A 已登录,我希望他只能看到该文档库中的 5 个文档. 如何创建一些自定义文档库以使其正常工作? 我安装了 MOSS. 提前致谢! 解决方案 编写一个 ItemEventReceiver,根据库中的字段(即包含不同角色的列)打破权限. 我们通过创建一个列表来完成此操作,该列表包含 ..
发布时间:2021-12-23 18:26:26 其他开发

对于不遵循 libNAME.so 命名约定的库,如何在不使用 -l 或硬编码路径的情况下使用 GCC 进行链接?

我有一个共享库,我希望使用 GCC 链接可执行文件.共享库有一个非标准名称,不是 libNAME.so 形式,所以我不能使用通常的 -l 选项.(它恰好也是一个 Python 扩展,因此没有“lib"前缀.) 我可以将库文件的路径直接传递给链接命令行,但这会导致库路径被硬编码到可执行文件中. 例如: g++ -o build/bin/myapp build/bin/_mylib.so ..
发布时间:2021-12-18 23:13:13 C/C++开发