如何在 qmake 生成 pkgconfig 的过程中指定 pkgconfig 的 Libs 变量?



我想通过qmake.pro文件设置Libs:行,我尝试这样做:

LIBS += -ldl

使我的目标可执行文件也与dl库链接,因为我的库我正在尝试将其链接,其中包含dl。但是,这不起作用,qmake将此字符串放入Libs.private部分中,该部分在编译期间不会传递给gcc命令行,因此我无法生成可执行文件:

Libs.private: -ldl

虽然我希望它像这样Libs:行:

Libs: -lmylibrary -ldl

我在网上任何地方都找不到对QMAKE_PKGCONFIG_*变量的任何引用,有吗?

用于生成 .pc 文件:

CONFIG += create_pc create_prl no_install_prl

通过QMAKE_PKGCONFIG_我发现了以下内容~/5.12.0/clang_64/mkspecs/features/qt_module.prf

QMAKE_PKGCONFIG_DESTDIR
QMAKE_PKGCONFIG_LIBDIR
QMAKE_PKGCONFIG_INCDIR
QMAKE_PKGCONFIG_CFLAGS
QMAKE_PKGCONFIG_NAME
QMAKE_PKGCONFIG_FILE
QMAKE_PKGCONFIG_REQUIRES
QMAKE_PKGCONFIG_DESCRIPTION
QMAKE_PKGCONFIG_INSTALL_REPLACE

从 pkg 配置的手册页:

Libs.private:
This line should list any private libraries in use.  
Private libraries are libraries which are not exposed  through  your library, 
but are needed in the case of static linking. 
This differs from Requires.private in that it references 
libraries that do not have package files installed.

所以我想只要你不通过你的库导出它们,它们最终就会进入 Libs.private。

相关内容

最新更新