我在 64 位 Ubuntu 机器上运行 C++ 应用程序和 Asterisk。我的 C++ 应用程序需要 32 位 libcurl。而 Asterisk 需要 64 位 libcurl 才能在拨号盘中执行一些 http 调用。我可以在同一台机器中保留 32 位和 64 位 libcurl,并配置 Asterisk 以查找 64 位 libcurl 吗?
答案1
假设 C++ 应用程序是你自己链接和安装的(例如/usr/local/...
),而 Asterisk 来自 Ubuntu 存储库,那么它们无论如何都不应该互相干扰。
Asterisk 将使用原本拥有的 64 位共享库,您可以编译自己的 libcurl 并将其与您的 32 位应用程序链接 - 无论您是否静态执行此操作,因为所有内容都将位于层次结构之下/usr/local/...
。
在 Ubuntu 中可以同时安装 64 位和 32 位共享库副本 - Ubuntu 的这种功能称为多架构。但我认为这与此无关,因为您正在编译和链接自己的应用程序,因此您可以链接到您需要的任何库的本地副本。