gpt4 book ai didi

c++ - 使用 libtool 链接非 libtool 库

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:11 26 4
gpt4 key购买 nike

我有一个使用 autotools 设置的项目来构建一个 C++ 库,包括 Python 与 Boost.Python 的绑定(bind)。我的系统上有一个 Boost.Python 二进制文件,我想链接它:

/usr/lib/libboost_python-py27.so.1.49.0

没有相应的 .la 文件,所以我想我可以将库的完整路径添加到 libtool 命令,类似于这样:

bash ./libtool --mode=link g++ -rpath /usr/local/lib src/o1.lo src/o2.lo ... \
/usr/lib/libboost_python-py27.so.1.49.0 -o libNSM.la

但是 libtool 从发出的 g++ 命令中丢弃了 /usr/lib/libboost_python-py27.so.1.49.0。如果我手动运行 g++ 它工作正常。

如何让 libtool 使用 native 共享库,或者处理这种情况的正确方法是什么。我绝对希望用户能够使用他们现有的 boost 二进制文件。

最佳答案

I have a binary of Boost.Python on my system that I want to link against

您是否安装了 boost-devel 以将符号链接(symbolic link)安装到 /usr/lib/libboost_python-py27.so.1.49.0

There is no corresponding .la file

libtool 不需要链接。如果安装了 boost-devel-lboost_python-py27 可能就足够了。

How can I make libtool use a native shared library or what would be the proper way to handle such a situation. I definitely want users to be able to use their existing boost binaries.

您可能想查看 AX_BOOST_PYTHON来自 GNU Autoconf Archive 的宏帮助用户为 libboost_python 设置所需的库(您可能需要的不仅仅是那里的特定宏)。 boost.m4 macro 似乎也支持 python,并且应该提供类似的东西。

关于c++ - 使用 libtool 链接非 libtool 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com