2010-12-05 24 views
1

我想让我的autotools项目在C++链接库中起源于C库(libsomelib.so),但也有绑定到C++(libsomelib ++。so)。我可以尝试使用PKG_CHECK_MODULES来检查这个包是否安装,并使用autotools来链接它。然而这两种库来在一个封装(C++版本需要配置标志),和仅具有一个.PC文件,在其中独立地配置设置有只线PKG_CHECK_MODULES for somelib ++

Libs: -L${libdir} -lsomelib 

无++版本的任何提及。也有没有单独的++。pc文件,我注意到在其他程序。因此,自动链接到++版本是不可能的。我想过手动添加-lsomelib ++来链接标志,但是这很不好看(如果有人编译时没有--with-cxx标志,它将不起作用)。我也可以通过AC_SEARCH_LIBS测试它是否存在,但是因为它是C++库,所以它不是那么简单。

缺少++。文件包分发器的文件错误还是一些更深的想法,我不知道如何使用它?

如果有人真的气死我会说有问题的软件包是ossp-uuid。

回答

1

是的,缺少++。pc通常暗示代表打包者的遗漏。如果简单(DCE)UUID足够,你可以考虑e2fsprogs/util-linux的libuuid(如果你运行这个操作系统)。