pkg-config报告的路径与pc文件中的路径不同

问题描述 投票:0回答:1

我已经使用CMake构建了libpng,并将它生成的.pc文件添加到了pck-config的目录中。

需要libpng的项目无法构建,因为pkg-config在调用时会提供错误的路径,例如pkg-config --cflags libpng

调试输出:

$ pkg-config.exe --debug libpng
no output option set, defaulting to --exists
Error printing disabled by default due to use of output options --exists, --atleast/exact/max-version, --list-all or no output option at all. Value of --print-errors: 0
Error printing disabled
Adding virtual 'pkg-config' package to list of known packages
Looking for package 'libpng'
Looking for package 'libpng-uninstalled'
Reading 'libpng' from file 'C:\mingw64\mingw64\lib\pkgconfig\libpng.pc'
Parsing package file 'C:\mingw64\mingw64\lib\pkgconfig\libpng.pc'
  line>prefix=C:/Program Files (x86)/libpng
 Variable declaration, 'prefix' overridden with 'C:/mingw64/mingw64'
  line>exec_prefix=C:/Program Files (x86)/libpng
 Variable declaration, 'exec_prefix' has value 'C:/Program Files (x86)/libpng'
  line>libdir=C:/Program Files (x86)/libpng/lib
 Variable declaration, 'libdir' has value 'C:/mingw64/mingw64/lib'
  line>includedir=C:/Program Files (x86)/libpng/include/libpng16
 Variable declaration, 'includedir' has value 'C:/mingw64/mingw64/include/libpng16'
  line>
  line>Name: libpng
  line>Description: Loads and saves PNG files
  line>Version: 1.6.37
  line>Requires: zlib
  line>Libs: -L${libdir} -lpng16
  line>Libs.private: -lz -lm
Unknown keyword 'Libs.private' in 'C:\mingw64\mingw64\lib\pkgconfig\libpng.pc'
  line>Cflags: -I${includedir}
Path position of 'libpng' is 3
Adding 'libpng' to list of known packages

手册指出:

Windows专业]

如果在与常规约定匹配的目录中找到一个.pc文件(即,以\ lib \ pkgconfig结尾),则该软件包的前缀被假定为找到该文件的目录的祖父母,并且相应地,该文件的prefix变量将被覆盖。

但是,${prefix}文件中没有任何.pc。我不知道替换物来自哪里以及如何修复它们。报告仅覆盖prefix,其余报告“具有值”,但打印的路径不是文件中声明的路径,甚至不存在。

我已经使用CMake构建了libpng,并将它生成的.pc文件添加到了pck-config的目录中。需要libpng的项目无法生成,因为pkg-config在调用时会提供错误的路径,例如pkg -...

pkg-config
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.