我有一个用autotools设置的项目,用于构建一个C++库,包括Boost.Python绑定。我的系统上有一个二进制的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但是,/usr/lib/libboost_python-py27.so.1.49.0 libtool正在放弃发出的g++命令中的。如果我手动运行g++,它可以正常工作。
如何使libtool使用本机共享库,或者如何正确地处理这种情况。我绝对希望用户能够使用他们现有的boost二进制文件。
发布于 2013-12-23 01:12:06
我的系统上有一个二进制的Boost.Python,我想要链接到它。
安装了boost-devel以安装到/usr/lib/libboost_python-py27.so.1.49.0的符号链接吗?
没有对应的.la文件
libtool不需要链接。如果安装了boost-devel包,-lboost_python-py27可能就足够了。
如何使libtool使用本机共享库,或者如何正确地处理这种情况。我绝对希望用户能够使用他们现有的boost二进制文件。
您可能需要查看来自GNU Autoconf档案馆的GNU Autoconf档案馆宏,以帮助用户为libboost_python设置所需的库(您可能需要的不仅仅是那里的特定宏)。boost.m4宏似乎也支持python,并且应该提供类似的东西。
https://stackoverflow.com/questions/20720515
复制相似问题