【发布时间】:2011-04-08 17:08:08
【问题描述】:
我正在将一个库移植到 AIX 上。它适用于 Solaris、Windows 和 Linux,但 AIX 让我头疼。我正处于构建和运行的阶段,但我对它链接的一些库有疑问。理想情况下,我希望能够发布一个只需要 c 运行时可用而没有其他依赖项的库。目前我遇到了 libpthread 问题,我可以看到它是指向 AIX 特定线程库的符号链接。 我的问题是这样的: 如果我不链接 pthread(我似乎不需要在 Solaris 上使用相同的代码库),那么我会得到未定义的符号。没关系,我正在使用 pthreads。如果我链接它,那么它工作正常,除了任何调用应用程序也必须链接到 pthreads。我真的不明白为什么我的调用应用程序(它不依赖于 pthread)需要链接它只是因为它正在调用一个链接到共享对象的库?
我在 AIX 6.1 上使用 gcc 4.2.4。
我可以发送一个需要 pthreads 出现在库路径上的库(理想情况下我们会得到一个静态版本),但我对发送一个将链接器请求放在客户端上的库有点不满意.
关于我可能做错的任何想法?
【问题讨论】: