CMake pkg_check_modules does not search the CMAKE_PREFIX_PAT



我正试图编译一个使用CMakepkg_check_modules的项目,但我无法获得pkg_check_modules来查找位于CMAKE_PREFIX_PATH下的库。

我相信下面的例子重现了这个问题:

如果libtest.so位于/home/user/test/lib中,则给定CMakeLists.txt:

include(FindPkgConfig)
pkg_check_modules(
TEST
REQUIRED
libtest
)

并使用运行

cmake -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH=/home/user/test .

导致错误:

No package 'libtest' found

我还尝试针对strace -v -f运行,其中确实包括针对/home/user/test/lib/pkgconfigaccess尝试,但没有针对libtest记录任何内容。

我使用的是Ubuntu 16.04和CMake 3.5.1

Macropkg_check_modules是pkg配置实用程序的包装器,它搜索并读取.pc文件

No package 'libtest' found

意味着您没有与包对应的.pc,或者CMake找不到该文件。

最新更新