我正在尝试将我的autotools项目用C ++链接到库,它起源于C库(libsomelib.so),但也绑定到c ++(libsomelib ++。so)。我试图使用PKG_CHECK_MODULES来检查是否已安装此软件包,并使用autotools链接它。但是两个lib都在一个包中(c ++版本需要configure标志),并且只有一个.pc文件,其中独立于配置设置只有行
Libs: -L${libdir} -lsomelib
没有提到++版本。我在其他程序中也没有注意到单独的++。pc文件。因此,与++版本的自动链接是不可能的。我想过手动将-lsomelib ++添加到链接标志,但这相当丑陋(如果有人在没有--with-cxx标志的情况下编译它,它将无法工作)。我也可以通过AC_SEARCH_LIBS来测试它的存在,但是因为它是C ++库所以它不是那么简单。
缺少包装经销商的++。pc文件错误或是更深层次的想法,我不知道如何使用它?
如果有人真的很有价值,我会说有问题的套餐是ossp-uuid。
答案 0 :(得分:1)
是的,缺少的++。pc通常会代表打包者暗示遗漏。
顺便说一句:如果简单(DCE)UUID就足够了,你可以考虑使用e2fsprogs / util-linux的libuuid(如果你运行这个操作系统)。