在debian 或者ubuntu这类操作系统上libtool从2.2.6b版本开始,间接依赖库会在链接时被丢掉。导致会发生莫名奇妙的undefined symbol。
http://stackoverflow.com/questions/11802727/libtool-doesnt-provide-library-dependencies-to-link 写道
4
down vote
accepted
On any Debian machine I use for development, I have to compile and install Libtool by hand, because the Debian-supplied version is patched and ignores dependencies in a way that break my builds.
If Ubuntu's version is similar, you might want to install Libtool from source too.
down vote
accepted
On any Debian machine I use for development, I have to compile and install Libtool by hand, because the Debian-supplied version is patched and ignores dependencies in a way that break my builds.
If Ubuntu's version is similar, you might want to install Libtool from source too.
libtool源代码的地址在这里http://ftp.gnu.org/gnu/libtool/
我们可以下载下来和现在用的libtool作比较. 然后把link_all_deplibs=no这类的地方改为和用源代码生成的libtool一致。如果还是没用,全部用yes就可以了。
相关推荐
6. **自动依赖检测**:LIBTOOL可以自动生成源代码的依赖关系,这在增量编译时非常有用,能提高编译效率。 7. **方便的命令行接口**:LIBTOOL提供了一系列易于使用的命令行工具,如`libtoolize`、`ltmain.sh`等,...
libtool-2.2.6a是libtool的一个版本,它提供了一套统一的接口,使得开发者在跨平台开发时能更便捷地处理库文件。这个源代码包libtool-2.2.6a.tar.gz包含了完整的源代码,允许开发者深入了解libtool的工作原理,并...
3. **链接阶段**:libtool负责链接所需的库,包括x11vnc自身依赖的库和libtool自身的库,确保所有依赖都被正确解决。 4. **安装阶段**:libtool会将编译好的库文件安装到指定的目标目录,便于后续的程序使用。 在...
- **隐藏库接口**:通过创建版本化的链接,libtool 可以防止应用程序直接依赖库的内部实现细节,从而在升级库时减少不兼容性。 - **多语言支持**:不仅支持 C 和 C++,还支持 Fortran、Java 等其他编程语言的库...
2. **自动链接**:Libtool能够自动处理库的依赖关系,正确链接所需的库文件,无论是静态库还是动态库。 3. **库版本管理**:它提供了版本控制机制,使得库的更新和升级更加平滑,避免因版本不匹配导致的问题。 4. ...
libtool主要的一个作用是在编译大型软件的过程中解决了库的依赖问题;将繁重的库依赖关系的维护工作承担下来,从而释放了程序员的人力资源。libtool提供统一的接口,隐藏了不同平台间库的名称的差异等细节,生成一个...
libtool 2.4是libtool工具的一个重要版本,它旨在解决跨平台编译和链接动态库时遇到的问题。libtool的主要目标是隐藏底层平台的具体细节,提供一个统一的接口,让开发者无需关心操作系统如何处理共享库,从而简化了...
《Linux系统中libtool-1.5.22的使用详解》 在Linux操作系统中,开发者经常面临的一个挑战是...在实际工作中,开发者应根据项目需求选择合适的libtool版本,并掌握其使用方法,以便在遇到问题时能迅速找到解决方案。
5. **链接优化**:libtool可以自动处理链接时的选项,如-Wl,--as-needed等,优化链接过程,提高程序性能。 在Ubuntu中安装libtool-1.3.2,通常需要执行以下步骤: 1. **下载源代码**:首先,从官方网站或镜像站点...
对于 `libtool-2.2.6b.tar.gz` 文件,同样需要通过解压、配置、编译和安装的方式来使用。 `automake` 是一个辅助工具,它配合 `autoconf` 使用,用于生成符合 GNU 标准的 Makefile.in 文件。这些文件由 configure ...
同样,对于mpeg库,libtool可以解决库的编译和链接问题,尤其是在处理复杂的依赖关系和平台差异时,大大简化了工作流程。 至于motion功能函数,这是一个常见的用于视频流处理的函数库。在libtool的帮助下,开发者...
例如,在构建“libhello”时,开发者无需关心特定于平台的细节,如链接器选项、文件扩展名等,libtool会自动处理这些细节。这使得开发者能够以一种更加抽象的方式思考问题,而无需深入了解底层实现机制。 #### 四、...
《龙芯3A3000上的Libtool 2.4.6安装详解及常见问题解析》 在软件开发过程中,构建工具起着至关重要的作用,它们帮助开发者管理库文件和编译链接过程,提高效率并减少错误。Libtool就是这样一款强大的工具,它为跨...
在这个过程中,Libtool 会自动处理依赖关系,生成适当的编译和链接命令。 2. **库版本管理**:Libtool 提供了库版本管理功能,能够处理库的版本升级和兼容性问题。例如,它支持 soname(共享对象名),这是 Linux ...
在多版本的系统中,libtool可以帮助处理版本依赖问题,确保软件正确地链接到正确的库版本。 **libtool的主要功能** 1. **动态链接库管理**:Libtool支持创建和使用动态链接库,允许在不重新编译整个项目的情况下...
需要安装php相关的依赖组件,所以找了很久才找齐,希望能为大家节省搭建环境的时间,资源包括fontconfig-2.4.2.tar.gz、freetype-2.3.5.tar.gz、gd-2.0.34.tar.gz、jpegsrc.v6b.tar.gz、libpng-1.2.18.tar.gz、...
libtool-1.5是该工具的一个经典版本,其核心功能和使用流程对于任何依赖动态链接库的项目都具有重要意义。本文将详细解析libtool-1.5的使用方法和相关知识点。 首先,libtool-1.5的主要作用在于管理和编译库文件,...
Libtool 是一个通用的库管理工具,旨在解决动态库(尤其是共享库)的编译和链接问题。它隐藏了不同操作系统和编译器之间关于库文件处理的差异,提供了一致的接口。Libtool 可以帮助开发者轻松创建版本化库,支持延迟...
libtool可以用于生成Makefile文件,比如在安装...目前Ubuntu系统默认安装(比如apt-get install libtool)2.4.2版本,如果在配置安装一些工程时提示LIBTOOL版本过低的问题,此时可以配置安装目前最新的2.4.7版本。