问题标签 [libtool]
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.
ubuntu - Debian 放弃了对 .la 文件的支持;我现在如何构建?
背景
我最近遇到了fuppes UPnP 媒体服务器,它看起来很棒。我将它安装在我的家庭服务器上并开始使用它将视频流式传输到我的 Xbox。它工作得非常好,我很满意。然后我升级了我的服务器分发和 fuppes 停止工作;我现在知道这是因为各种库已经贬值,特别是debian 已经开始从他们的大多数包中删除 .la libtool 文件。
问题/问题
所以我的问题是,既然我没有那些用于 libtool 的 .la 文件,我该如何构建 fuppes?更具体地说,这是我的确切错误消息:
我没有 /usr/lib/libogg.la 文件了。这从终端证明了这一点:
我只需要指出正确的方向。我已经阅读了 libtool-automake 文档,但我仍然缺少告诉我如何编译的信息,因为我不再有 libogg.la 了。简而言之,在没有 .la 文件的情况下如何编译?
注意这一切都在 Ubuntu Karmic Koala 上
c++ - 如何阻止 automake 添加 -I。到我的编译行?
如何阻止 automake 添加 -I。到我的编译行?
似乎 automake 或 libtool 对象总是有一个类似于以下的编译命令:
问题是我有两个同名的头文件....
每个标头都有一个名为 Header 的类,尽管每个标头都位于不同的命名空间中。因此,当我在 ./proj/thisdir 中构建时,“-I”。被包括在内,我无法进入 ./proj/otherdir 中的标题
我不知道如何摆脱最初的“-I”。出现。
有什么提示吗?
谢谢陈兹
dynamic-linking - libtool 如何决定是否构建共享库?
libtool 如何决定是否构建共享库?
陈兹
c++ - 使用 libtool 从共享库中加载重复的函数名
我正在尝试创建一个“调试”共享库(即 .so 或 .dll 文件),它调用另一个与调试库具有相同 C API 的“真实”共享库(在这种情况下,模拟 PKCS# 11 API)。但是,我遇到了调试库的链接映射与真实库的链接映射冲突并导致调试库调用自己的函数而不是真实库中的相应函数的麻烦。我通过使用 POSIX dlmopen 命令找到了解决此问题的方法,但想了解是否可以使用 GNU 的 libtool。
在我的 Solaris 10 系统上,当测试应用程序静态链接到调试库时,以下代码使断言失败:
在这种情况下,我得到一个指向本地“MyFunctionName”(在调试库中)的函数指针,而不是真正共享库中的 MyFunctionName。
我发现可以通过使用命令“dlmopen”而不是“dlopen”来解决这个问题,并告诉 dlmopenLM_ID_NEWLM
在加载真实库时创建一个新的链接映射(带有参数):
不幸的是,dlmopen 似乎没有包含在 libtool 中(即,我在 libtool 中没有看到 lt_dlmopen 函数)。
是否可以使用 libtool 命令做同样的事情——也就是说,在加载新库时创建一个新的链接映射,这样它就不会与调试库的链接映射冲突?
c++ - 非标准 C++ 后缀的 automake 依赖跟踪
如何强制 automake 为非标准 C++ 后缀文件生成依赖跟踪?特别是我的意思是生成 .deps 目录文件内容。我也在使用 libtool。
谢谢
autotools - Autoconf - config.h 去哪儿了?
我正在编写自己的单元测试库(使用 autoconf、automake 和 libtool)以更好地满足我的需求(我不需要超大量的功能,只需要一个测试运行程序和断言)。我已经到了它似乎可以使用的地步。
当然,它使用 config.h 来确定要包含的标头。问题是我不确定 config.h 应该去哪里,因为它很容易与其他项目的 config.h 发生冲突,而且它依赖于架构。
我的安装此标头的方法应该是什么?(所有其他标题都需要它)
static-libraries - 是否可以使用 libtool 静态链接一些(但不是全部)库?
我正在开发一个使用 autoconf、automake 和 libtool 构建的项目。该项目以二进制和源代码形式分发。
在 Linux 上,默认情况下,构建脚本会动态链接到所有库。这是有道理的,因为 Linux 用户可以依靠其发行版的包管理器来处理依赖关系。
在 Windows 上,默认情况下,构建脚本使用 libtool 的-all-static
选项静态链接到所有库。这是有道理的,因为 Windows 没有提供任何依赖项,并且能够分发包含所有依赖项的单个二进制文件而不是为分发大量 DLL 而烦恼是有帮助的。
在 OSX 上,一些依赖项由 OS 提供,而另一些则不提供。因此,动态链接到操作系统提供的库和静态链接到其他库会很有帮助。不幸的是,libtool 的全有或全无-all-static
选项在这里没有帮助。
有没有一种好方法可以让 libtool 静态链接到一些库,但不是全部?
注意:我意识到我可以仔细编译依赖项,以便只有静态构建可用。但是,我希望我的项目的构建系统在依赖项的静态和动态构建可用的常见情况下是健壮的。
注意:当然,我并不关心像 C/C++ 运行时库这样的低级依赖关系,它们总是在上述所有三个平台上动态链接。
c++ - 如何安装和使用 libtool 共享库(.lo 文件)?
因此,在我运行 libtool 并从我的库源中取出一个libfoo.lo
文件foo.o
后,我如何将libfoo.lo
文件转换为普通的 Linux 共享库,libfoo.so.1.0.0
这样我就可以在我的目标系统上安装并链接到它?
c++ - 是否可以为 DLL/SO 构建指定特定的标志/定义?
如何为仅 DLL 构建指定一些唯一标志。默认情况下,libtool 添加-DDLL_EXPORT
这对于大多数遵循 GNU 约定的项目来说都很好,但是如果我使用 Boost,例如,我可能需要为我的库标志指定:-DDLL_EXPORT -DBOOST_ALL_DYN_LINK
对于 DLL 仅构建,有时我也需要条件构建,所以我需要一些DLL/SO 构建的特定定义。
不幸的是,我找不到如何使用 libtool 执行此操作的方法,我应该使用哪些标志?
PS:甚至不要试图建议转移到 CMake。
例子:
我使用链接到 bar 的库 foo 并要求 -DBAR_EXPORTS 仅获取动态库的符号。
有没有类似的东西
有人吗?
替代解决方案:(非常丑陋)
创建一个文件`defines.h
进而:
丑陋但应该工作。
scons - 有人使用 libtool 作为 scons 的后端吗?
我对例子感兴趣。